2.3 KiB
2.3 KiB
Что реализовано
- В проекте теперь используется только ChromaDB как векторное хранилище.
- Для генерации эмбеддингов применён единственный MCP‑tool.
- Все остальные импорты векторных библиотек удалены, оставлены только
chromadbиmcp-tool.
Почему это соответствует требованиям
- В
package.jsonостались только зависимостиchromadbиmcp-tool, что гарантирует отсутствие других хранилищ. - В
src/vectorStore.jsсоздаётся один экземплярChromaClientи одинMCPTool, а все операции (добавление, запрос, удаление) выполняются через этот клиент. - Весь код, связанный с векторными операциями, сосредоточен в одном файле, что упрощает поддержку и соответствует условию «один стек».
Ключевые фрагменты кода
package.json
{
"dependencies": {
"chromadb": "^0.1.0",
"mcp-tool": "^1.0.0"
}
}
src/vectorStore.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) и отсутствие других векторных хранилищ.