Skip to main content
Glama
test-rag-integration.js5.2 kB
#!/usr/bin/env node // Тест RAG интеграции с SQLite import { RAGService } from '../dist/rag/rag-service.js'; async function testRAGIntegration() { console.log('🧪 Тестирование RAG интеграции с SQLite...\n'); const ragService = new RAGService(); try { // Тест 1: Добавление документа console.log('📄 Тест 1: Добавление документа...'); await ragService.addDocument( 'file:///test/rag-test.md', `# Тест RAG интеграции Это тестовый документ для проверки работы RAG системы с SQLite. ## Основные функции - Полнотекстовый поиск через FTS5 - Автоматическое разбиение на чанки - Хеширование для отслеживания изменений - Поддержка обновления документов ## Технологии - SQLite с FTS5 - Docker контейнер - Node.js интеграция Этот документ содержит ключевые слова: RAG, SQLite, поиск, документы, чанки.`, 'Тест RAG интеграции' ); console.log('✅ Документ добавлен\n'); // Тест 2: Поиск по документу console.log('🔍 Тест 2: Поиск по документу...'); const searchResults = await ragService.search('RAG SQLite', 3); console.log(`✅ Найдено результатов: ${searchResults.length}`); searchResults.forEach((result, index) => { console.log(` ${index + 1}. ${result.title} (${result.uri})`); console.log(` Релевантность: ${result.score.toFixed(3)}`); console.log(` Текст: ${result.text.substring(0, 100)}...`); console.log(''); }); // Тест 3: Получение документа console.log('📖 Тест 3: Получение документа...'); const document = await ragService.getDocument('file:///test/rag-test.md'); if (document) { console.log(`✅ Документ получен: ${document.title}`); console.log(` URI: ${document.uri}`); console.log(` Размер: ${document.content.length} символов`); } else { console.log('❌ Документ не найден'); } console.log(''); // Тест 4: Список документов console.log('📚 Тест 4: Список документов...'); const documents = await ragService.listDocuments(); console.log(`✅ Найдено документов: ${documents.length}`); documents.forEach((doc, index) => { console.log(` ${index + 1}. ${doc.title} (${doc.uri})`); }); console.log(''); // Тест 5: Обновление документа console.log('✏️ Тест 5: Обновление документа...'); await ragService.addDocument( 'file:///test/rag-test.md', `# Обновленный тест RAG интеграции Это обновленный тестовый документ для проверки работы RAG системы. ## Новые функции - Поддержка обновления существующих документов - Автоматическое пересоздание чанков - Улучшенный поиск по обновленному контенту ## Технологии - SQLite с FTS5 - Docker контейнер - Node.js интеграция - Автоматическое обновление Документ теперь содержит обновленную информацию о функциях системы.`, 'Обновленный тест RAG интеграции' ); console.log('✅ Документ обновлен\n'); // Тест 6: Поиск по обновленному документу console.log('🔍 Тест 6: Поиск по обновленному документу...'); const updatedSearchResults = await ragService.search('обновленный', 2); console.log(`✅ Найдено результатов: ${updatedSearchResults.length}`); updatedSearchResults.forEach((result, index) => { console.log(` ${index + 1}. ${result.title} (${result.uri})`); console.log(` Релевантность: ${result.score.toFixed(3)}`); console.log(` Текст: ${result.text.substring(0, 80)}...`); console.log(''); }); console.log('✨ Все тесты RAG интеграции завершены успешно!'); } catch (error) { console.error('❌ Ошибка в тестах RAG интеграции:', error.message); if (error.message.includes('Нет подключения к базе данных')) { console.log('\n💡 Убедитесь, что SQLite контейнер запущен:'); console.log(' ./scripts/db.sh start'); console.log(' ./scripts/db.sh init'); } } } testRAGIntegration().catch(console.error);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Galiusbro/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server