Контекст и память: RAG
Урок 3 курса «AI клиентская поддержка — чат-боты, FAQ, автоответы»
Чтобы бот знал о твоём бизнесе
Проблема
ChatGPT не знает специфику твоего бизнеса. Каждый раз приходится в промпте описывать всё.
Решение: RAG (Retrieval-Augmented Generation)
Принцип:
1. У тебя есть документы (FAQ, инструкции, кейсы)
2. AI ищет в них нужный кусок
3. Использует найденное для ответа
Простая реализация
Шаг 1: подготовить документы
- FAQ.md
- Pricing.md
- Cases.md
- TermsOfService.md
Шаг 2: эмбеддинги
from openai import OpenAI
client = OpenAI()
def embed(text):
response = client.embeddings.create(
input=text,
model="text-embedding-3-small"
)
return response.data[0].embedding
Шаг 3: поиск
import numpy as np
def find_similar(query, docs_with_embeddings):
query_emb = embed(query)
similarities = [
np.dot(query_emb, doc["emb"]) for doc in docs_with_embeddings
]
best = max(range(len(similarities)), key=lambda i: similarities[i])
return docs_with_embeddings[best]["text"]
Шаг 4: ответ
relevant_doc = find_similar(user_question, all_docs)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": f"Используй для ответа: {relevant_doc}"},
{"role": "user", "content": user_question}
]
)
Готовые решения
Vector DB
- Pinecone (бесплатно до 1М vectors)
- Chroma (open source, локально)
- Qdrant (open source, на своём сервере)
Готовые платформы
- Voiceflow — drag-and-drop AI ботов
- Botpress — open source альтернатива
- Make.com + OpenAI — без кода
Задание
Подготовь свой FAQ.md в 20 пунктов. Залей в Voiceflow или Botpress. Получишь бота за 1 вечер.