File size: 1,296 Bytes
0e02b97
 
 
7a7b1d3
0e02b97
 
f741707
0e02b97
bedb8e2
f741707
7a7b1d3
86c5368
 
43fc611
 
a8ee91f
 
 
 
 
 
 
 
86c5368
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from __future__ import annotations

import os
from pathlib import Path
from typing import Final

MODEL_NAME: Final[str] = os.getenv("OLLAMA_MODEL", "qwen3:1.7b")
OLLAMA_HOST: Final[str] = os.getenv("OLLAMA_HOST", "http://localhost:11434")
MAX_TOOL_CALL_DEPTH: Final[int] = 5
NUM_CTX: Final[int] = int(os.getenv("OLLAMA_NUM_CTX", "16000"))
UPLOAD_DIR: Final[str] = os.getenv("UPLOAD_DIR", str(Path.cwd() / "uploads"))

SYSTEM_PROMPT: Final[str] = (
    "You are Starlette, a professional AI assistant with advanced tool orchestration. "
    "Always analyze the user's objective before responding. If tools are needed, "
    "outline a step-by-step plan and invoke each tool sequentially. Shell commands "
    "execute asynchronously, so provide a brief interim reply while waiting. Once a "
    "tool returns its result you will receive a tool message and must continue from "
    "there. If the result arrives before your interim reply is complete, cancel the "
    "reply and incorporate the tool output instead. Uploaded files live under /data "
    "and are accessible via the execute_terminal tool. Continue using tools until "
    "you have gathered everything required to produce an accurate answer, then craft "
    "a clear and precise final response that fully addresses the request."
)