Compare commits
3 Commits
3babef4276
...
9d617b4702
| Author | SHA1 | Date | |
|---|---|---|---|
| 9d617b4702 | |||
| dd1e33512f | |||
| 1dba9e32f2 |
@ -122,8 +122,12 @@ SESSION_DB_PATH = os.path.expanduser(
|
||||
|
||||
# ─── RAG (YAML) ─────────────────────────────────────────────────────────────────
|
||||
|
||||
RAG_PERSIST_DIR = os.getenv("RAG_PERSIST_DIR", default=_yaml_get("rag", "persist_dir", default="lancedb_data"))
|
||||
RAG_MODEL_PATH = os.getenv("RAG_MODEL_PATH", default=_yaml_get("rag", "model_path", default=""))
|
||||
RAG_PERSIST_DIR = os.path.expanduser(
|
||||
os.getenv("RAG_PERSIST_DIR", default=_yaml_get("rag", "persist_dir", default="lancedb_data"))
|
||||
)
|
||||
RAG_MODEL_PATH = os.path.expanduser(
|
||||
os.getenv("RAG_MODEL_PATH", default=_yaml_get("rag", "model_path", default=""))
|
||||
)
|
||||
|
||||
|
||||
# ─── Humanize Delay (YAML) ─────────────────────────────────────────────────────
|
||||
|
||||
@ -27,7 +27,13 @@ def execute_tool(tool_call, TOOL_HANDLERS):
|
||||
def run_agent_loop(session, llm_client, TOOLS, TOOL_HANDLERS, max_iterations, on_tool_calls=None):
|
||||
for step in range(max_iterations):
|
||||
print(f'[{_ts()}] Step {step + 1} — calling LLM...', flush=True)
|
||||
response = llm_client.chat(session.messages, tools=TOOLS)
|
||||
|
||||
# Ambil konfigurasi disable_reasoning dari personality karakter
|
||||
# Default ke False jika tidak didefinisikan
|
||||
personality = getattr(session, 'personality', {})
|
||||
disable_reasoning = personality.get('disable_reasoning', False)
|
||||
|
||||
response = llm_client.chat(session.messages, tools=TOOLS, disable_reasoning=disable_reasoning)
|
||||
|
||||
if response.tool_calls:
|
||||
amsg = {
|
||||
|
||||
@ -19,7 +19,7 @@ class LLMClient:
|
||||
self.timeout = timeout
|
||||
self.cancel_requested = False
|
||||
|
||||
def chat(self, messages, tools=None, on_stream_chunk=None):
|
||||
def chat(self, messages, tools=None, on_stream_chunk=None, disable_reasoning=False):
|
||||
url = f"{self.base_url}/chat/completions"
|
||||
payload = {
|
||||
"model": self.model,
|
||||
@ -30,8 +30,9 @@ class LLMClient:
|
||||
payload["tools"] = tools
|
||||
payload["tool_choice"] = "auto"
|
||||
|
||||
# Disable reasoning/thinking di level API bila didukung
|
||||
# OpenRouter & beberapa provider support ini
|
||||
# Hanya kirim parameter reasoning jika diminta eksplisit
|
||||
# Beberapa model/provider justru error jika parameter ini ada tapi tidak didukung
|
||||
if disable_reasoning:
|
||||
payload["reasoning"] = {"enabled": False}
|
||||
|
||||
data = json.dumps(payload).encode('utf-8')
|
||||
@ -102,11 +103,11 @@ class LLMClient:
|
||||
|
||||
# Stream content (text response)
|
||||
if 'content' in delta:
|
||||
chunk_text = delta['content']
|
||||
chunk_text = delta['content'] or ""
|
||||
full_content += chunk_text
|
||||
|
||||
# Callback untuk streaming ke UI
|
||||
if on_stream_chunk:
|
||||
if on_stream_chunk and chunk_text:
|
||||
on_stream_chunk(chunk_text)
|
||||
|
||||
# Build final response
|
||||
|
||||
Loading…
Reference in New Issue
Block a user