Memista ist ein Hochleistungs-Vektor-Suchservice, der in Rost geschrieben wurde und eine einfache HTTP-API zum Speichern und Abrufen von Textbrocken mit ihren zugehörigen Vektoreinbettungen bietet. Es kombiniert SQLite für den Metadatenspeicher mit Usearch für eine effiziente Suche nach Vektorähnlichkeit.
Fügen Sie Textbrocken mit ihren Einbettungen in eine bestimmte Datenbank ein.
Suche nach ähnlichen Stücken mit Vektor -Einbettungen.
Lassen Sie eine bestimmte Datenbank und ihren zugehörigen Vektorindex fallen.
Der Dienst kann mithilfe von Umgebungsvariablen konfiguriert werden:
DATABASE_PATH : Pfad zu SQLite -Datenbankdatei (Standard: "memista.db")SERVER_HOST : Host -Adresse zu binden an (Standard: "127.0.0.1")SERVER_PORT : port zum anhören (Standard: 8083)LOG_LEVEL : Protokollierungsstufe (Standard: "Info") .env -Datei mit Ihrer Konfiguration (optional)cargo runDer Server startet und die API -Dokumentation ist verfügbar unter:
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
} ' Das Projekt verwendet mehrere wichtige Abhängigkeiten:
Eine vollständige Liste der Abhängigkeiten finden Sie in der Datei Cargo.toml.
Dieses Projekt ist gemäß der GNU General Public Lizenz v3.0 (GPL -3.0) lizenziert - siehe unten für eine Zusammenfassung:
GNU General Public Lizenz v3.0 (GPL-3.0)
Berechtigungen:
Bedingungen:
Einschränkungen:
Für den vollständigen Lizenztext finden Sie Lizenz oder besuchen Sie https://www.gnu.org/licenses/gpl-3.0.en.html