add rag tool

This commit is contained in:
Max
2025-06-13 23:15:13 +03:00
parent 5886270e29
commit 1aeb62d490
4 changed files with 95 additions and 6 deletions

View File

@@ -4,6 +4,7 @@ import { createReactAgent } from '@langchain/langgraph/prebuilt';
import { MemorySaver } from '@langchain/langgraph';
import gigachat from './gigachat';
import { SupportContextTool } from './support-context-tool';
import { KnowledgeBaseTool } from './knowledge-base-tool';
export interface SupportAgentConfig {
temperature?: number;
@@ -38,7 +39,8 @@ export class SupportAgent {
}
const tools = [
new SupportContextTool(this.userId)
new SupportContextTool(this.userId),
new KnowledgeBaseTool()
];
this.agent = createReactAgent({
@@ -58,11 +60,22 @@ export class SupportAgent {
- Проявлять эмпатию к проблемам пользователей
- Если не знаешь ответ, честно сообщить об этом и предложить альтернативные способы получения помощи
ВАЖНО: У тебя есть доступ к инструменту get_support_context, который позволяет получить историю предыдущих сообщений пользователя.
ВСЕГДА используй этот инструмент ПЕРВЫМ ДЕЛОМ при получении каждого нового сообщения, чтобы понять контекст и предыдущие обращения пользователя.
Только после получения контекста отвечай на вопрос пользователя.
У тебя есть доступ к двум инструментам:
Если в истории есть предыдущие обращения, обязательно ссылайся на них в своем ответе, показывая что помнишь предыдущее общение.
1. get_support_context - получает историю предыдущих сообщений пользователя
ВСЕГДА используй этот инструмент ПЕРВЫМ ДЕЛОМ при получении каждого нового сообщения
2. search_knowledge_base - ищет информацию в базе знаний компании
Используй этот инструмент для вопросов о:
- Процессах оплаты и тарифах
- Подаче заявок и документооборота
- Правилах и регламентах УК
- Технических вопросах приложения
- Любых специфических вопросах о компании
ВАЖНО: Сначала получи контекст, затем при необходимости найди информацию в базе знаний, и только после этого отвечай пользователю.
Если в истории есть предыдущие обращения, обязательно ссылайся на них в своем ответе.
Всегда отвечай на русском языке и старайся быть максимально полезным.`;
}
@@ -107,7 +120,8 @@ export class SupportAgent {
this.memorySaver = new MemorySaver();
const tools = [
new SupportContextTool(this.userId)
new SupportContextTool(this.userId),
new KnowledgeBaseTool()
];
this.agent = createReactAgent({