Add answer.md
This commit is contained in:
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"task": {
|
||||||
|
"_id": "6a02e23da6fe2e4ac16acf65",
|
||||||
|
"title": "Агент с RAG-памятью",
|
||||||
|
"description": "# Практическое задание: Агент с RAG-памятью\n\n## Цель\n\nПостроить AI-агента с локальным RAG-хранилищем знаний на базе Qdrant и Ollama. Агент должен уметь искать и сохранять информацию в векторной базе.\n\n---\n\n## Стек\n\n- Python 3.10+\n- **Qdrant** — векторная база данных\n- **Ollama** — локальные LLM и эмбеддинги (`llama3`, `nomic-embed-text`)\n- **LangChain** — фреймворк для агентов и RAG\n\n### Установка\n\n```bash\n# Ollama\nollama pull llama3\nollama pull nomic-embed-text\n\n# Python пакеты\npip install langchain langchain-qdrant langchain-ollama\n```\n\n---\n\n## Что нужно сделать\n\n### 1. RAG-инструменты для агента\n\nСоздай два инструмента через декоратор `@tool`:\n\n| Инструмент | Назначение |\n|------------|------------|\n| `search_knowledge_base(query, max_results)` | Семантический поиск в базе знаний |\n| `add_to_knowledge_base(content, title)` | Добавление документа в базу |\n\n📖 [Документация @tool](https://docs.langchain.com/oss/python/langchain/tools)\n\n### 2. Векторное хранилище\n\nРеализуй модуль для работы с Qdrant:\n- Инициализация клиента и коллекции\n- Добавление документов с эмбеддингами через Ollama\n- Поиск с метрикой релевантности\n\n📖 [QdrantVectorStore](https://docs.langchain.com/oss/python/integrations/vectorstores/qdrant)\n\n### 3. Система чанкинга\n\nРеализуй разбиение документов на чанки перед добавлением в базу.\n\n📖 [RecursiveCharacterTextSplitter](https://docs.langchain.com/oss/python/integrations/splitters/recursive_text_splitter)\n\n### 4. Агент с RAG-интеграцией\n\nСоздай агента с системным промптом, инструктирующим использовать базу знаний.\n\n📖 [create_agent](https://docs.langchain.com/oss/python/langchain/overview#create-an-agent)\n\n### 5. Клиент инициализации\n\nСкрипт для загрузки документов из директории в векторное хранилище.\n\n### 6. Интерактивный тестовый клиент\n\nCLI или простой интерфейс для демонстрации работы агента с командами `/add`, `/search`, `/quit`.\n\n---\n\n## Критерии зачёта\n\n| Компонент | Проверяется |\n|-----------|-------------|\n| Инструменты | `@tool`, `search_knowledge_base`, `add_to_knowledge_base` |\n| Векторное хранилище | Qdrant, эмбеддинги через Ollama |\n| Чанкинг | `RecursiveCharacterTextSplitter`, метаданные |\n| Агент | `create_agent` с RAG-инструментами |\n| Инициализация | Загрузка документов из директории |\n| Тестирование | Интерактивный клиент с командами |\n\n---\n\n## Полезные ссылки\n\n| Ресурс | Ссылка |\n|--------|--------|\n| LangChain Overview | https://docs.langchain.com/oss/python/langchain/overview |\n| Qdrant Integration | https://docs.langchain.com/oss/python/integrations/vectorstores/qdrant |\n| Ollama Integration | https://docs.langchain.com/oss/python/integrations/providers/ollama |\n| Text Splitters | https://docs.langchain.com/oss/python/integrations/splitters |\n| Tools | https://docs.langchain.com/oss/python/langchain/tools |\n| Agents | https://docs.langchain.com/oss/python/langchain/agents |\n| Qdrant Installation | https://qdrant.tech/documentation/install/ |",
|
||||||
|
"course": "698b49da77cb6d4d2e43ce78",
|
||||||
|
"lesson": {
|
||||||
|
"_id": "69ce8da9ee5ea03ca2f943d5",
|
||||||
|
"name": "Deep Agents Virtual File System",
|
||||||
|
"date": "2026-04-02T15:30:00.000Z",
|
||||||
|
"id": "69ce8da9ee5ea03ca2f943d5"
|
||||||
|
},
|
||||||
|
"gradeType": "passfail",
|
||||||
|
"maxScore": 100,
|
||||||
|
"assignmentType": "individual",
|
||||||
|
"allowSubmissions": true,
|
||||||
|
"allowRevisions": false,
|
||||||
|
"creator": {
|
||||||
|
"sub": "8ae348ab-f32e-46c7-9960-8b7fdf0e4c0e",
|
||||||
|
"name": "Александр Примаков"
|
||||||
|
},
|
||||||
|
"teamGrades": [],
|
||||||
|
"created": "2026-05-12T08:18:05.015Z",
|
||||||
|
"id": "6a02e23da6fe2e4ac16acf65"
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user