diff --git a/agent_app.py b/agent_app.py new file mode 100644 index 0000000..65645d7 --- /dev/null +++ b/agent_app.py @@ -0,0 +1,36 @@ +"""Агент с RAG-инструментами.""" +from __future__ import annotations + +import os + +from langchain.agents import create_agent +from langchain_ollama import ChatOllama + +try: + from rag_tools import add_to_knowledge_base, search_knowledge_base +except ModuleNotFoundError: + from .rag_tools import add_to_knowledge_base, search_knowledge_base + +LLM_MODEL = os.getenv("OLLAMA_LLM_MODEL", "llama3") +OLLAMA_BASE_URL = os.getenv("OLLAMA_BASE_URL", "http://localhost:11434") + +SYSTEM_PROMPT = """\ +Ты AI-ассистент с доступом к локальной базе знаний (RAG). +Перед ответом на фактические вопросы используй search_knowledge_base. +Если пользователь просит сохранить информацию — вызывай add_to_knowledge_base. +Если в базе нет данных — честно скажи об этом. +Отвечай на русском языке, кратко и по делу. +""" + + +def build_llm() -> ChatOllama: + return ChatOllama(model=LLM_MODEL, base_url=OLLAMA_BASE_URL, temperature=0.2) + + +def build_agent(): + """Агент с RAG-tools — точка входа для автопроверки.""" + return create_agent( + model=build_llm(), + tools=[search_knowledge_base, add_to_knowledge_base], + system_prompt=SYSTEM_PROMPT, + )