Memista-это высокопроизводительный сервис поиска вектора, написанная в ржавчине, которая предоставляет простой HTTP API для хранения и получения текстовых кусков с помощью связанных векторных внедрений. Он объединяет SQLite для хранения метаданных с USERCH для эффективного поиска сходства вектора.
Вставьте текстовые куски с их встроенными в указанную базу данных.
Поиск подобных кусков с использованием векторных внедрений.
Отбросьте конкретную базу данных и связанный с ним векторный индекс.
Служба может быть настроена с использованием переменных среды:
DATABASE_PATH : Path to SQLite Database File (по умолчанию: "Memista.db")SERVER_HOST : адрес хоста для привязки (по умолчанию: "127.0.0.1")SERVER_PORT : порт для прослушивания (по умолчанию: 8083)LOG_LEVEL : уровень ведения журнала (по умолчанию: "info") .env с вашей конфигурацией (необязательно)cargo runСервер начнется, и документация по API будет доступна по адресу:
curl -X POST http://localhost:8083/v1/insert
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"chunks": [{
"embedding": [0.1, 0.2],
"text": "Sample text",
"metadata": "{"source": "document1"}"
}]
} 'curl -X POST http://localhost:8083/v1/search
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"embeddings": [[0.1, 0.2]],
"num_results": 5
} ' Проект использует несколько ключевых зависимостей:
Полный список зависимостей см. В файле Cargo.toml.
Этот проект лицензирован в рамках общей публичной лицензии GNU v3.0 (GPL -3.0) - см. Ниже приведено в резюме:
GNU General Public License v3.0 (GPL-3.0)
Разрешения:
Условия:
Ограничения:
Для полного текста лицензии см. Лицензию или посетите https://www.gnu.org/licenses/gpl-3.0.en.html