akrstova commited on
Commit
ec639fe
·
1 Parent(s): bfe607a

Read system prompt from file

Browse files
Files changed (2) hide show
  1. agent.py +3 -1
  2. app.py +4 -4
agent.py CHANGED
@@ -1,4 +1,5 @@
1
  import os
 
2
  from dotenv import load_dotenv
3
  from langgraph.graph import START, StateGraph, MessagesState
4
  from langgraph.prebuilt import tools_condition
@@ -15,6 +16,7 @@ from tools.search_tools import search_wikipedia, web_search
15
  from tools.image_video_tools import query_image
16
  from tools.file_tools import analyze_excel_file
17
 
 
18
 
19
  # embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2") # dim=768
20
  # supabase: Client = create_client(
@@ -50,7 +52,7 @@ def build_graph():
50
  messages = state["messages"]
51
  # Add system message if not present
52
  if not any(isinstance(m, SystemMessage) for m in messages):
53
- messages = [SystemMessage(content="You are a helpful AI assistant. Use the available tools to answer questions accurately. When providing your final answer, use the format: FINAL ANSWER: [your answer]")] + messages
54
  response = llm_with_tools.invoke(messages)
55
  return {"messages": [response]}
56
 
 
1
  import os
2
+ from pathlib import Path
3
  from dotenv import load_dotenv
4
  from langgraph.graph import START, StateGraph, MessagesState
5
  from langgraph.prebuilt import tools_condition
 
16
  from tools.image_video_tools import query_image
17
  from tools.file_tools import analyze_excel_file
18
 
19
+ system_prompt = Path("system_prompt.txt").read_text()
20
 
21
  # embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2") # dim=768
22
  # supabase: Client = create_client(
 
52
  messages = state["messages"]
53
  # Add system message if not present
54
  if not any(isinstance(m, SystemMessage) for m in messages):
55
+ messages = [SystemMessage(content=system_prompt)] + messages
56
  response = llm_with_tools.invoke(messages)
57
  return {"messages": [response]}
58
 
app.py CHANGED
@@ -32,10 +32,10 @@ class BasicAgent:
32
  if match:
33
  final_answer = match.group(1).strip()
34
  else:
35
- # Fallback: Use last non-empty line
36
- lines = [line.strip() for line in last_message.split("\n") if line.strip()]
37
- final_answer = lines[-1] if lines else last_message.strip()
38
-
39
  return final_answer
40
  except Exception as e:
41
  print("Agent processing failed")
 
32
  if match:
33
  final_answer = match.group(1).strip()
34
  else:
35
+ # Try to find a name or string answer
36
+ candidates = [line.strip() for line in last_message.split("\n") if line.strip()]
37
+ final_answer = next((line for line in reversed(candidates) if len(line.split()) <= 5), last_message.strip())
38
+
39
  return final_answer
40
  except Exception as e:
41
  print("Agent processing failed")