Введение
Представьте себе: ваш AI-агент не просто отвечает на вопросы, а запоминает, чему учился вчера, и строит диалог, опираясь на прошлый контекст. В этом руководстве мы покажем, как собрать такого собеседника с помощью Cognee и бесплатных моделей Hugging Face, сохранив все инструменты open source и запустив код прямо в Google Colab.
Установка и подготовка
Начните с установки необходимых библиотек. В Google Colab или локальной среде выполните:
!pip install cognee transformers torch sentence-transformers accelerate
После установки импортируйте модули для работы с токенизацией, моделями и памятью агента.
Конфигурирование Cognee
Чтобы Cognee научился запоминать, нужно задать модель для встраивания (embedding) и провайдера. В коде это выглядит так:
import cognee
await cognee.config.set("EMBEDDING_MODEL", "sentence-transformers/all-MiniLM-L6-v2")
await cognee.config.set("EMBEDDING_PROVIDER", "sentence_transformers")
Теперь Cognee сможет разбивать текст на фрагменты и сохранять их в векторном хранилище для быстрого поиска.
Выбор и интеграция модели Hugging Face
Для генерации ответов возьмите лёгкую бесплатную модель, например gpt2 или facebook/opt-125m. Создайте пайплайн:
from transformers import pipeline
generator = pipeline("text-generation", model="gpt2")
Инициализируйте агента, связав память Cognee и генератор ответов:
from cognee import ConversationAgent, MemoryStore
memory = MemoryStore() # встроенный в Cognee векторный хранилищe
agent = ConversationAgent(llm=generator, memory=memory)
Создание и запуск агента
Теперь можно запустить диалог с сохранением истории:
response = await agent.run("Привет! Расскажи о себе.")
print(response)
Каждый запрос и ответ будут храниться в памяти, а при новых вопросах агент вспомнит прошлые темы.
Пример диалога с памятью
Вы: «Как меня зовут?»
Агент: «Вы представились как Алексей.»
Вы: «Правильно! Напомни, о чём мы говорили сначала.»
Агент: «Мы начали с того, что обсуждали ваше имя и интерес к AI.»
Заключение
В пару десятков строк кода вы получаете полноценного собеседника, который не забывает прошлое и может рассуждать в контексте. Попробуйте менять модели и хранилища — Cognee поддерживает как локальные LanceDB и NetworkX, так и продвинутые Qdrant и Neo4j. Бодрых экспериментов!

