ai: enforce mode timeouts and accept atlasbot reply payload
This commit is contained in:
parent
03b282da20
commit
9b87c8bfbd
@ -65,17 +65,25 @@ def _atlasbot_answer(message: str, mode: str, conversation_id: str) -> str:
|
||||
payload = {"prompt": message, "mode": mode}
|
||||
if conversation_id:
|
||||
payload["conversation_id"] = conversation_id
|
||||
with httpx.Client(timeout=settings.AI_ATLASBOT_TIMEOUT_SEC) as client:
|
||||
with httpx.Client(timeout=_atlasbot_timeout_sec(mode)) as client:
|
||||
resp = client.post(endpoint, json=payload, headers=headers)
|
||||
if resp.status_code != 200:
|
||||
return ""
|
||||
data = resp.json()
|
||||
answer = (data.get("answer") or "").strip()
|
||||
answer = (data.get("reply") or data.get("answer") or "").strip()
|
||||
return answer
|
||||
except (httpx.RequestError, ValueError):
|
||||
return ""
|
||||
|
||||
|
||||
def _atlasbot_timeout_sec(mode: str) -> float:
|
||||
if mode == "genius":
|
||||
return settings.AI_ATLASBOT_TIMEOUT_GENIUS_SEC
|
||||
if mode == "smart":
|
||||
return settings.AI_ATLASBOT_TIMEOUT_SMART_SEC
|
||||
return settings.AI_ATLASBOT_TIMEOUT_QUICK_SEC
|
||||
|
||||
|
||||
def _discover_ai_meta(profile: str) -> dict[str, str]:
|
||||
meta = {
|
||||
"node": settings.AI_NODE_NAME,
|
||||
|
||||
@ -29,6 +29,15 @@ AI_CHAT_TIMEOUT_SEC = float(os.getenv("AI_CHAT_TIMEOUT_SEC", "20"))
|
||||
AI_ATLASBOT_ENDPOINT = os.getenv("AI_ATLASBOT_ENDPOINT", "").strip()
|
||||
AI_ATLASBOT_TOKEN = os.getenv("AI_ATLASBOT_TOKEN", "").strip()
|
||||
AI_ATLASBOT_TIMEOUT_SEC = float(os.getenv("AI_ATLASBOT_TIMEOUT_SEC", "5"))
|
||||
AI_ATLASBOT_TIMEOUT_QUICK_SEC = float(
|
||||
os.getenv("AI_ATLASBOT_TIMEOUT_QUICK_SEC", str(max(AI_ATLASBOT_TIMEOUT_SEC, 15)))
|
||||
)
|
||||
AI_ATLASBOT_TIMEOUT_SMART_SEC = float(
|
||||
os.getenv("AI_ATLASBOT_TIMEOUT_SMART_SEC", str(max(AI_ATLASBOT_TIMEOUT_SEC, 45)))
|
||||
)
|
||||
AI_ATLASBOT_TIMEOUT_GENIUS_SEC = float(
|
||||
os.getenv("AI_ATLASBOT_TIMEOUT_GENIUS_SEC", str(max(AI_ATLASBOT_TIMEOUT_SEC, 180)))
|
||||
)
|
||||
AI_ATLASBOT_MODEL_FAST = os.getenv("AI_ATLASBOT_MODEL_FAST", "").strip()
|
||||
AI_ATLASBOT_MODEL_SMART = os.getenv("AI_ATLASBOT_MODEL_SMART", "").strip()
|
||||
AI_ATLASBOT_MODEL_GENIUS = os.getenv("AI_ATLASBOT_MODEL_GENIUS", "").strip()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user