feat: solution for 'Экзамен: RAG-агент с ChromaDB и веб-поиском'

This commit is contained in:
2026-06-30 11:25:46 +03:00
parent c55f307e12
commit eada1859e4
9 changed files with 187 additions and 159 deletions
+28
View File
@@ -0,0 +1,28 @@
const { VectorStore } = require('../src/vectorStore');
const { embed } = require('../src/utils');
describe('VectorStore', () => {
let store;
beforeAll(async () => {
store = new VectorStore();
await store.init('test_collection');
});
test('add and query vectors', async () => {
const docs = [
{ text: 'Hello world', id: '1' },
{ text: 'Goodbye world', id: '2' }
];
const embeddings = docs.map(d => embed(d.text));
const metadatas = docs.map(d => ({ id: d.id, text: d.text }));
await store.add(embeddings, metadatas, docs.map(d => d.id));
const queryEmbedding = embed('Hello');
const results = await store.query(queryEmbedding, 2);
expect(results[0].metadatas.length).toBe(2);
const ids = results[0].metadatas.map(m => m.id);
expect(ids).toContain('1');
expect(ids).toContain('2');
});
});