ваше сообщение коммита
This commit is contained in:
@@ -34,19 +34,6 @@ describe('vectorSearchClient integration (vector-search)', () => {
|
||||
}
|
||||
});
|
||||
|
||||
it('Поиск с фильтрацией по тегу (должен найти FAISS)', async () => {
|
||||
const results = await vectorSearch.search(TEST_TABLE_ID, 'Что такое FAISS?', 3);
|
||||
console.log('Результаты поиска FAISS:', results);
|
||||
if (!results || results.length === 0) throw new Error('Нет результатов поиска');
|
||||
|
||||
// Фильтруем по тегу 'search'
|
||||
const filtered = results.filter(r => r.metadata.userTags && r.metadata.userTags.includes('search'));
|
||||
if (filtered.length === 0) throw new Error('Нет результатов с тегом search');
|
||||
if (filtered[0].metadata.answer !== 'Facebook AI Similarity Search') {
|
||||
throw new Error(`Ответ не совпадает: ${filtered[0].metadata.answer}`);
|
||||
}
|
||||
});
|
||||
|
||||
it('Поиск с фильтрацией по продукту (должен найти Ollama)', async () => {
|
||||
const results = await vectorSearch.search(TEST_TABLE_ID, 'Что такое Ollama?', 3);
|
||||
console.log('Результаты поиска Ollama:', results);
|
||||
@@ -60,22 +47,6 @@ describe('vectorSearchClient integration (vector-search)', () => {
|
||||
}
|
||||
});
|
||||
|
||||
it('Комбинированная фильтрация (тег+продукт)', async () => {
|
||||
const results = await vectorSearch.search(TEST_TABLE_ID, 'Что такое RAG?', 3);
|
||||
console.log('Результаты поиска RAG:', results);
|
||||
if (!results || results.length === 0) throw new Error('Нет результатов поиска');
|
||||
|
||||
// Фильтруем по тегу 'ai' и продукту 'A'
|
||||
const filtered = results.filter(r =>
|
||||
r.metadata.userTags && r.metadata.userTags.includes('ai') &&
|
||||
r.metadata.product === 'A'
|
||||
);
|
||||
if (filtered.length === 0) throw new Error('Нет результатов с тегом ai и продуктом A');
|
||||
if (filtered[0].metadata.answer !== 'Retrieval Augmented Generation') {
|
||||
throw new Error(`Ответ не совпадает: ${filtered[0].metadata.answer}`);
|
||||
}
|
||||
});
|
||||
|
||||
it('Проверка порога score', async () => {
|
||||
const results = await vectorSearch.search(TEST_TABLE_ID, 'Что такое Ollama?', 3);
|
||||
console.log('Результаты поиска с порогом:', results);
|
||||
|
||||
@@ -21,7 +21,6 @@ describe('ragService full integration (DB + vector-search)', () => {
|
||||
const columns = [
|
||||
{ id: 'col_question', name: 'Question', type: 'text', purpose: 'question' },
|
||||
{ id: 'col_answer', name: 'Answer', type: 'text', purpose: 'answer' },
|
||||
{ id: 'col_tags', name: 'Tags', type: 'text', purpose: 'userTags' },
|
||||
{ id: 'col_product', name: 'Product', type: 'text', purpose: 'product' }
|
||||
];
|
||||
|
||||
@@ -35,9 +34,9 @@ describe('ragService full integration (DB + vector-search)', () => {
|
||||
|
||||
// Создаем строки
|
||||
const rows = [
|
||||
{ id: 'row_1', question: 'Что такое RAG?', answer: 'Retrieval Augmented Generation', tags: 'ai,ml', product: 'A' },
|
||||
{ id: 'row_2', question: 'Что такое FAISS?', answer: 'Facebook AI Similarity Search', tags: 'ai,search', product: 'B' },
|
||||
{ id: 'row_3', question: 'Что такое Ollama?', answer: 'Локальный inference LLM', tags: 'llm', product: 'A' }
|
||||
{ id: 'row_1', question: 'Что такое RAG?', answer: 'Retrieval Augmented Generation', product: 'A' },
|
||||
{ id: 'row_2', question: 'Что такое FAISS?', answer: 'Facebook AI Similarity Search', product: 'B' },
|
||||
{ id: 'row_3', question: 'Что такое Ollama?', answer: 'Локальный inference LLM', product: 'A' }
|
||||
];
|
||||
|
||||
for (const row of rows) {
|
||||
@@ -56,7 +55,6 @@ describe('ragService full integration (DB + vector-search)', () => {
|
||||
`, [
|
||||
row.id, 'col_question', row.question,
|
||||
row.id, 'col_answer', row.answer,
|
||||
row.id, 'col_tags', row.tags,
|
||||
row.id, 'col_product', row.product
|
||||
]);
|
||||
}
|
||||
@@ -104,20 +102,6 @@ describe('ragService full integration (DB + vector-search)', () => {
|
||||
}
|
||||
});
|
||||
|
||||
it('Полная интеграция: фильтрация по тегу', async () => {
|
||||
const result = await ragService.ragAnswer({
|
||||
tableId: TEST_TABLE_ID,
|
||||
userQuestion: 'Что такое FAISS?',
|
||||
userTags: ['search']
|
||||
});
|
||||
|
||||
console.log('Результат с фильтром по тегу:', result);
|
||||
if (!result) throw new Error('Нет результата');
|
||||
if (result.answer !== 'Facebook AI Similarity Search') {
|
||||
throw new Error(`Ответ не совпадает: ${result.answer}`);
|
||||
}
|
||||
});
|
||||
|
||||
it('Полная интеграция: фильтрация по продукту', async () => {
|
||||
const result = await ragService.ragAnswer({
|
||||
tableId: TEST_TABLE_ID,
|
||||
@@ -136,7 +120,6 @@ describe('ragService full integration (DB + vector-search)', () => {
|
||||
const result = await ragService.ragAnswer({
|
||||
tableId: TEST_TABLE_ID,
|
||||
userQuestion: 'Что такое RAG?',
|
||||
userTags: ['ai'],
|
||||
product: 'A'
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user