Spaces:
Build error
Build error
Read system prompt from file
Browse files
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=
|
| 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 |
-
|
| 36 |
-
|
| 37 |
-
final_answer =
|
| 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")
|