31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
"""Агент с RAG-инструментами."""
|
|
from __future__ import annotations
|
|
|
|
import os
|
|
|
|
from langchain.agents import create_agent
|
|
from langchain_ollama import ChatOllama
|
|
|
|
from rag_tools import add_to_knowledge_base, search_knowledge_base
|
|
|
|
LLM_MODEL = os.getenv("OLLAMA_LLM_MODEL", "llama3")
|
|
|
|
SYSTEM_PROMPT = """\
|
|
Ты AI-ассистент с доступом к локальной базе знаний (RAG).
|
|
|
|
Правила:
|
|
1. Перед ответом на фактические вопросы используй search_knowledge_base.
|
|
2. Если пользователь просит сохранить информацию — вызывай add_to_knowledge_base.
|
|
3. Если в базе нет данных — честно скажи об этом.
|
|
4. Отвечай на русском языке, кратко и по делу.
|
|
"""
|
|
|
|
|
|
def build_agent():
|
|
llm = ChatOllama(model=LLM_MODEL, temperature=0.2)
|
|
return create_agent(
|
|
model=llm,
|
|
tools=[search_knowledge_base, add_to_knowledge_base],
|
|
system_prompt=SYSTEM_PROMPT,
|
|
)
|