42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
**Что реализовано**
|
||
- В проекте теперь используется **только 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 + один MCP‑tool) и отсутствие других векторных хранилищ. |