Skip to main content
Glama
test-sqlite-connection.js3.88 kB
#!/usr/bin/env node // Простой тест подключения к SQLite базе данных import { SQLiteClient } from '../dist/rag/sqlite-client.js'; async function testSQLiteConnection() { console.log('🧪 Тестирование подключения к SQLite базе данных...\n'); const sqliteClient = new SQLiteClient('./data/rag.db'); try { // Инициализация console.log('🔌 Инициализация SQLite клиента...'); const initResult = await sqliteClient.initialize(); if (initResult.isErr()) { throw new Error(`Ошибка инициализации: ${initResult.error.message}`); } console.log('✅ SQLite клиент инициализирован'); // Проверка подключения console.log('🔍 Проверка подключения...'); const isConnected = await sqliteClient.isConnected(); if (!isConnected) { throw new Error('Нет подключения к базе данных'); } console.log('✅ Подключение к базе данных установлено'); // Получение статистики console.log('📊 Получение статистики...'); const statsResult = await sqliteClient.getStats(); if (statsResult.isErr()) { throw new Error(`Ошибка получения статистики: ${statsResult.error.message}`); } const stats = statsResult.value; console.log('✅ Статистика получена:'); console.log(` Документов: ${stats.documents}`); console.log(` Чанков: ${stats.chunks}`); console.log(` Эмбеддингов: ${stats.embeddings}`); console.log(` Размер БД: ${(stats.dbSize / 1024).toFixed(2)} KB`); console.log(` FTS включен: ${stats.ftsEnabled}`); // Получение документов console.log('\n📚 Получение документов...'); const docsResult = await sqliteClient.getDocuments(); if (docsResult.isErr()) { throw new Error(`Ошибка получения документов: ${docsResult.error.message}`); } const docs = docsResult.value; console.log(`✅ Найдено документов: ${docs.length}`); docs.forEach((doc, index) => { console.log(` ${index + 1}. ${doc.title} (${doc.uri})`); console.log(` Создан: ${doc.created_at}`); console.log(` Метаданные: ${doc.metadata || 'нет'}`); }); // Получение чанков для первого документа if (docs.length > 0) { console.log('\n📄 Получение чанков для первого документа...'); const chunksResult = await sqliteClient.getDocumentChunks(docs[0].id); if (chunksResult.isErr()) { throw new Error(`Ошибка получения чанков: ${chunksResult.error.message}`); } const chunks = chunksResult.value; console.log(`✅ Найдено чанков: ${chunks.length}`); chunks.forEach((chunk, index) => { console.log(` ${index + 1}. Размер: ${chunk.text.length} символов`); console.log(` Секция: ${chunk.section}`); console.log(` Токены: ${chunk.token_count || 'не подсчитано'}`); }); } console.log('\n🎉 Все тесты прошли успешно!'); } catch (error) { console.error('❌ Ошибка в тестах SQLite:', error.message); console.error('Детали:', error); } finally { await sqliteClient.close(); console.log('\n🔒 Соединение с базой данных закрыто'); } } testSQLiteConnection().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