sync from accepted repo: rag_tools.py
This commit is contained in:
+6
-9
@@ -3,10 +3,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
from langchain.tools import tool
|
from langchain.tools import tool
|
||||||
|
|
||||||
try:
|
from knowledge_base import KnowledgeBase, build_knowledge_base
|
||||||
from knowledge_base import KnowledgeBase, build_knowledge_base
|
|
||||||
except ModuleNotFoundError:
|
|
||||||
from .knowledge_base import KnowledgeBase, build_knowledge_base
|
|
||||||
|
|
||||||
_kb: KnowledgeBase | None = None
|
_kb: KnowledgeBase | None = None
|
||||||
|
|
||||||
@@ -24,8 +21,8 @@ def search_knowledge_base(query: str, max_results: int = 5) -> str:
|
|||||||
"""Семантический поиск в базе знаний.
|
"""Семантический поиск в базе знаний.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
query: поисковый запрос
|
query: Поисковый запрос на естественном языке.
|
||||||
max_results: максимум фрагментов в ответе
|
max_results: Максимум результатов (по умолчанию 5).
|
||||||
"""
|
"""
|
||||||
results = get_knowledge_base().search(query, max_results=max_results)
|
results = get_knowledge_base().search(query, max_results=max_results)
|
||||||
if not results:
|
if not results:
|
||||||
@@ -40,11 +37,11 @@ def search_knowledge_base(query: str, max_results: int = 5) -> str:
|
|||||||
|
|
||||||
@tool
|
@tool
|
||||||
def add_to_knowledge_base(content: str, title: str) -> str:
|
def add_to_knowledge_base(content: str, title: str) -> str:
|
||||||
"""Добавляет документ в векторную базу знаний.
|
"""Добавление документа в базу знаний.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
content: текст документа
|
content: Текст документа.
|
||||||
title: заголовок / имя документа
|
title: Заголовок / имя документа.
|
||||||
"""
|
"""
|
||||||
if not content.strip():
|
if not content.strip():
|
||||||
return "Ошибка: пустой content."
|
return "Ошибка: пустой content."
|
||||||
|
|||||||
Reference in New Issue
Block a user