Обновить agent.py
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
"""
|
"""
|
||||||
agent.py — AI-агент с RAG-памятью на базе Ollama (llama3) и Qdrant.
|
agent.py — AI-агент с RAG-памятью на базе Ollama (llama3) и Qdrant.
|
||||||
|
|
||||||
Использует create_react_agent из langgraph (рекомендуемый способ в LangChain v0.3+)
|
Использует create_agent из langchain.agents с системным промптом,
|
||||||
с системным промптом, инструктирующим агента работать с базой знаний.
|
инструктирующим агента работать с базой знаний.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from langchain.agents import create_agent
|
||||||
from langchain_ollama import ChatOllama
|
from langchain_ollama import ChatOllama
|
||||||
from langgraph.prebuilt import create_react_agent
|
|
||||||
from langchain_core.messages import SystemMessage
|
from langchain_core.messages import SystemMessage
|
||||||
|
|
||||||
from tools import search_knowledge_base, add_to_knowledge_base
|
from tools import search_knowledge_base, add_to_knowledge_base
|
||||||
@@ -33,10 +33,10 @@ SYSTEM_PROMPT = """Ты — интеллектуальный AI-ассистен
|
|||||||
# ── Агент ─────────────────────────────────────────────────────────────────────
|
# ── Агент ─────────────────────────────────────────────────────────────────────
|
||||||
rag_tools = [search_knowledge_base, add_to_knowledge_base]
|
rag_tools = [search_knowledge_base, add_to_knowledge_base]
|
||||||
|
|
||||||
agent = create_react_agent(
|
agent = create_agent(
|
||||||
model=llm,
|
model=llm,
|
||||||
tools=rag_tools,
|
tools=rag_tools,
|
||||||
prompt=SYSTEM_PROMPT,
|
system_prompt=SYSTEM_PROMPT,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -45,7 +45,6 @@ def run_agent(user_input: str) -> str:
|
|||||||
Запускает агента с переданным запросом и возвращает финальный ответ.
|
Запускает агента с переданным запросом и возвращает финальный ответ.
|
||||||
"""
|
"""
|
||||||
result = agent.invoke({"messages": [("user", user_input)]})
|
result = agent.invoke({"messages": [("user", user_input)]})
|
||||||
# Финальное сообщение — последнее от ассистента
|
|
||||||
for msg in reversed(result["messages"]):
|
for msg in reversed(result["messages"]):
|
||||||
if msg.type == "ai" and msg.content:
|
if msg.type == "ai" and msg.content:
|
||||||
return msg.content
|
return msg.content
|
||||||
|
|||||||
Reference in New Issue
Block a user