File size: 1,244 Bytes
0e02b97
 
 
7a7b1d3
0e02b97
 
f741707
7a7b1d3
 
 
0e02b97
bedb8e2
f741707
7a7b1d3
86c5368
 
43fc611
 
 
 
 
 
 
 
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
26
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")
EMBEDDING_MODEL_NAME: Final[str] = os.getenv(
    "OLLAMA_EMBEDDING_MODEL", "snowflake-arctic-embed:137m"
)  # unused for now
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, waiting for its "
    "result before proceeding. Retry or adjust commands when they fail and summarize "
    "important outputs to preserve context. 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."
)