ваше сообщение коммита
This commit is contained in:
92
md/RAG_ASSISTANT_INTEGRATION.md
Normal file
92
md/RAG_ASSISTANT_INTEGRATION.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Интеграция RAG-ассистента для бизнеса с поддержкой продуктов, сегментов клиентов и LLM
|
||||
|
||||
## Цель
|
||||
|
||||
Реализовать интеллектуального ассистента для бизнеса, который:
|
||||
- Использует RAG-таблицы для хранения вопросов, ответов, уточняющих вопросов, ответов на возражения и дополнительного контекста.
|
||||
- Поддерживает фильтрацию по продуктам, сегментам клиентов (тегам), приоритету, дате и другим бизнес-полям.
|
||||
- Интегрируется с LLM (Ollama/OpenAI) для генерации финального ответа на основе найденного контекста.
|
||||
- Позволяет настраивать системный промт с плейсхолдерами для гибкой персонализации ответов.
|
||||
|
||||
---
|
||||
|
||||
## Основные требования
|
||||
|
||||
1. **Структура RAG-таблицы**
|
||||
- Каждая строка содержит:
|
||||
- Вопрос (`question`)
|
||||
- Ответ (`answer`)
|
||||
- Ответ с уточняющим вопросом (`clarifyingAnswer`)
|
||||
- Ответ на возражение (`objectionAnswer`)
|
||||
- Теги пользователя/сегмента (`userTags`)
|
||||
- Продукт/услуга (`product`)
|
||||
- Дополнительный контекст (`context`)
|
||||
- Приоритет (`priority`)
|
||||
- Дата (`date`)
|
||||
- Для каждого столбца указывается назначение (purpose) через выпадающий список при создании/редактировании.
|
||||
|
||||
2. **Фильтрация и поиск**
|
||||
- При поступлении вопроса пользователя:
|
||||
- Фильтровать строки по продукту, тегам пользователя, приоритету, дате и другим полям.
|
||||
- Выполнять векторный поиск (embedding) только по релевантным строкам.
|
||||
|
||||
3. **Интеграция с LLM**
|
||||
- После поиска по RAG-таблице формировать системный промт с подстановкой найденных данных (через плейсхолдеры).
|
||||
- Передавать промт и вопрос пользователя в LLM (Ollama/OpenAI).
|
||||
- Возвращать финальный ответ пользователю.
|
||||
|
||||
4. **Плейсхолдеры для промта**
|
||||
- Поддерживаются плейсхолдеры:
|
||||
- `{context}` — дополнительная информация
|
||||
- `{answer}` — основной ответ
|
||||
- `{clarifyingAnswer}` — уточняющий вопрос
|
||||
- `{objectionAnswer}` — ответ на возражение
|
||||
- `{question}` — вопрос пользователя
|
||||
- `{userTags}` — теги пользователя
|
||||
- `{product}` — продукт/услуга
|
||||
- `{priority}` — приоритет
|
||||
- `{date}` — дата
|
||||
- `{rules}` — описание применённых правил
|
||||
- `{history}` — история диалога
|
||||
- `{model}` — используемая LLM
|
||||
- `{language}` — язык ответа
|
||||
|
||||
5. **Кэширование embedding**
|
||||
- Для ускорения поиска embedding для вопросов кэшируются в БД.
|
||||
- При изменении вопроса embedding обновляется.
|
||||
|
||||
6. **Логирование и аналитика**
|
||||
- Логируются все этапы работы ассистента: запрос пользователя, найденный контекст, результат LLM, время ответа, id пользователя и т.д.
|
||||
- Вся информация сохраняется для последующего анализа и улучшения качества ответов.
|
||||
|
||||
---
|
||||
|
||||
## Пример бизнес-сценария
|
||||
|
||||
- Клиент B2B интересуется продуктом "ProductX".
|
||||
- Вопрос: "Как интегрировать ваш продукт с нашей ERP?"
|
||||
- Система фильтрует строки по `product = "ProductX"` и тегу `B2B`.
|
||||
- Векторный поиск проводится только по релевантным строкам.
|
||||
- В системном промте используются плейсхолдеры для подстановки найденных данных.
|
||||
- LLM генерирует финальный ответ с учётом контекста, уточняющих вопросов и ответов на возражения.
|
||||
|
||||
---
|
||||
|
||||
## Пример системного промта
|
||||
|
||||
```
|
||||
Ты — ассистент компании. Пользователь интересуется продуктом: {product}, сегмент: {userTags}.
|
||||
Используй только релевантные ответы и контекст для этого продукта и типа клиента.
|
||||
Контекст: {context}
|
||||
Ответ: {answer}
|
||||
Уточняющий вопрос: {clarifyingAnswer}
|
||||
Ответ на возражение: {objectionAnswer}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Результат
|
||||
|
||||
- Персонализированные, точные и масштабируемые ответы для разных продуктов и сегментов клиентов.
|
||||
- Гибкая настройка ассистента через UI и системный промт.
|
||||
- Возможность расширения под любые бизнес-сценарии.
|
||||
Reference in New Issue
Block a user