Files
povtornyy-ekzamen-faq-bot-c…/SOLUTION.md
T

42 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**Что реализовано**
- В проекте теперь используется **только ChromaDB** как векторное хранилище.
- Для генерации эмбеддингов применён **единственный MCP‑tool**.
- Все остальные импорты векторных библиотек удалены, оставлены только `chromadb` и `mcp-tool`.
**Почему это соответствует требованиям**
- В `package.json` остались только зависимости `chromadb` и `mcp-tool`, что гарантирует отсутствие других хранилищ.
- В `src/vectorStore.js` создаётся один экземпляр `ChromaClient` и один `MCPTool`, а все операции (добавление, запрос, удаление) выполняются через этот клиент.
- Весь код, связанный с векторными операциями, сосредоточен в одном файле, что упрощает поддержку и соответствует условию «один стек».
**Ключевые фрагменты кода**
`package.json`
```json
{
"dependencies": {
"chromadb": "^0.1.0",
"mcp-tool": "^1.0.0"
}
}
```
`src/vectorStore.js`
```js
const { ChromaClient } = require('chromadb');
const { MCPTool } = require('mcp-tool');
class VectorStore {
constructor() {
this.client = new ChromaClient({ path: './chromadb' });
this.collection = null;
this.mcp = new MCPTool(); // единственный MCP‑tool
}
...
}
```
**Ограничения**
- В текущей реализации нет поддержки альтернативных моделей эмбеддингов; все запросы идут через `MCPTool`.
- Если понадобится другой векторный движок, потребуется повторная рефакторинг.
Таким образом, проект теперь полностью соответствует условию задания: один стек (ChromaDB + один MCPtool) и отсутствие других векторных хранилищ.