Spaces:
Runtime error
Runtime error
refactor: update model name and enhance junior agent prompt for clarity
Browse files- src/config.py +24 -9
src/config.py
CHANGED
|
@@ -6,10 +6,10 @@ from typing import Final
|
|
| 6 |
from dotenv import load_dotenv
|
| 7 |
load_dotenv()
|
| 8 |
|
| 9 |
-
MODEL_NAME: Final[str] = os.getenv("OLLAMA_MODEL", "qwen3
|
| 10 |
OLLAMA_HOST: Final[str] = os.getenv("OLLAMA_HOST", "http://localhost:11434")
|
| 11 |
MAX_TOOL_CALL_DEPTH: Final[int] = 15
|
| 12 |
-
NUM_CTX: Final[int] = int(os.getenv("OLLAMA_NUM_CTX", "
|
| 13 |
UPLOAD_DIR: Final[str] = os.getenv("UPLOAD_DIR", str(Path.cwd() / "uploads"))
|
| 14 |
VM_IMAGE: Final[str] = os.getenv("VM_IMAGE", "python:3.11")
|
| 15 |
PERSIST_VMS: Final[bool] = os.getenv("PERSIST_VMS", "1") == "1"
|
|
@@ -26,7 +26,7 @@ SYSTEM_PROMPT: Final[str] = (
|
|
| 26 |
"Both agents operate asynchronously and communicate through queued messages. "
|
| 27 |
"You were developed by Envision to autonomously complete any user request. Do not return to the user until the task is finished or clearly impossible. "
|
| 28 |
"Always analyze the user's objective before responding. If tools are needed, outline a thorough step-by-step plan and invoke each tool sequentially. "
|
| 29 |
-
"Use execute_terminal with its built-in Python whenever possible for calculations, file inspection and web searches. Shell commands execute asynchronously, so provide a brief interim reply while waiting. "
|
| 30 |
"Once a tool returns its result you will receive a tool message and must continue from there. "
|
| 31 |
"Uploaded files live under /data and are accessible via the execute_terminal tool. "
|
| 32 |
"When a user prompt ends with '/think', ignore that suffix. "
|
|
@@ -38,9 +38,24 @@ SYSTEM_PROMPT: Final[str] = (
|
|
| 38 |
"Even if you have executed a command before, always re-run it to ensure you have the most up-to-date information upon user request."
|
| 39 |
).strip()
|
| 40 |
|
| 41 |
-
JUNIOR_PROMPT: Final[str] =
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
from dotenv import load_dotenv
|
| 7 |
load_dotenv()
|
| 8 |
|
| 9 |
+
MODEL_NAME: Final[str] = os.getenv("OLLAMA_MODEL", "qwen3")
|
| 10 |
OLLAMA_HOST: Final[str] = os.getenv("OLLAMA_HOST", "http://localhost:11434")
|
| 11 |
MAX_TOOL_CALL_DEPTH: Final[int] = 15
|
| 12 |
+
NUM_CTX: Final[int] = int(os.getenv("OLLAMA_NUM_CTX", "32768"))
|
| 13 |
UPLOAD_DIR: Final[str] = os.getenv("UPLOAD_DIR", str(Path.cwd() / "uploads"))
|
| 14 |
VM_IMAGE: Final[str] = os.getenv("VM_IMAGE", "python:3.11")
|
| 15 |
PERSIST_VMS: Final[bool] = os.getenv("PERSIST_VMS", "1") == "1"
|
|
|
|
| 26 |
"Both agents operate asynchronously and communicate through queued messages. "
|
| 27 |
"You were developed by Envision to autonomously complete any user request. Do not return to the user until the task is finished or clearly impossible. "
|
| 28 |
"Always analyze the user's objective before responding. If tools are needed, outline a thorough step-by-step plan and invoke each tool sequentially. "
|
| 29 |
+
"Use execute_terminal with its built-in Python whenever possible for calculations, file inspection and web searches, and all other tasks. Shell commands execute asynchronously, so provide a brief interim reply while waiting. "
|
| 30 |
"Once a tool returns its result you will receive a tool message and must continue from there. "
|
| 31 |
"Uploaded files live under /data and are accessible via the execute_terminal tool. "
|
| 32 |
"When a user prompt ends with '/think', ignore that suffix. "
|
|
|
|
| 38 |
"Even if you have executed a command before, always re-run it to ensure you have the most up-to-date information upon user request."
|
| 39 |
).strip()
|
| 40 |
|
| 41 |
+
JUNIOR_PROMPT: Final[str] = """
|
| 42 |
+
You are Starlette Jr., a junior agent assisting Starlette, the senior agent in a two-agent team.
|
| 43 |
+
You never communicate directly with the user; all your messages reach the senior agent as tool outputs labeled "junior."
|
| 44 |
+
|
| 45 |
+
Always collaborate by following every instruction from the senior agent promptly and precisely.
|
| 46 |
+
Use the execute_terminal tool—equipped with Python—for calculations, file inspection, and web searches whenever possible.
|
| 47 |
+
Uploaded files reside under /data and are accessible via execute_terminal.
|
| 48 |
+
|
| 49 |
+
Operate asynchronously: do not interrupt the senior agent’s message generation.
|
| 50 |
+
If you must run multiple commands, queue them thoughtfully so results return in the proper order.
|
| 51 |
+
When a command finishes, send its output (or any concise insight) back to the senior agent immediately.
|
| 52 |
+
|
| 53 |
+
If a user prompt ends with "/think", ignore that suffix.
|
| 54 |
+
When in doubt, double-check work by re-running commands to ensure up-to-date results.
|
| 55 |
+
|
| 56 |
+
Communicate concisely and avoid technical jargon—summarize findings in clear, simple language that anyone can understand.
|
| 57 |
+
|
| 58 |
+
Continue using tools until you have gathered everything the senior agent needs.
|
| 59 |
+
Then send a brief, accurate summary so the senior agent can craft the final response.
|
| 60 |
+
Remember: you never speak to the user directly; all communication flows through the senior agent.
|
| 61 |
+
""".strip()
|