Vespa.ai ist eine Open-Source-KI-Such- und Empfehlungsplattform, die sich auf die Verarbeitung großer Datenmengen konzentriert, um effiziente Such-, Empfehlungs- und personalisierte Dienste anzubieten. Vespa.ai unterstützt Vektorsuche, Textsuche und strukturierte Datenverarbeitung, kombiniert mit maschinellen Lernmodellen, um Inferenzen in Echtzeit zu erzielen. Vespa.ai ist in der Lage, Milliarden von Daten zu verarbeiten, mit schnellen Antwortzeiten und einer Latenz von weniger als 100 Millisekunden, wodurch es sich für Anwendungen auf Unternehmensebene eignet. Die Plattform bietet Cloud-Dienste und lokale Bereitstellungsoptionen, und der Open-Source-Code wird auf GitHub gepflegt, so dass Entwickler die Funktionalität frei erweitern können.Vespa ist im E-Commerce, bei personalisierten Empfehlungen und in der akademischen Forschung weit verbreitet und wird von Spotify, Yahoo und anderen Unternehmen für seine hohe Leistung und Flexibilität geschätzt.
Funktionsliste
- Unterstützt gemischte Abfragen von Vektor-, Text- und strukturierten Daten, um komplexe Suchanforderungen zu erfüllen.
- Bietet Modellinferenz durch maschinelles Lernen in Echtzeit, um die Rangfolge der Suchergebnisse zu optimieren.
- Unterstützt die Skalierung von Hunderten von Millionen Daten und verarbeitet Tausende von Abfragen pro Sekunde mit einer Latenzzeit von unter 100 Millisekunden.
- Bietet ein Streaming-Suchmodell, das die Kosten für die Suche nach persönlichen Daten um das 20-fache reduziert.
- Offener Quellcode zur Unterstützung von Entwicklern bei der Anpassung von Java-Komponenten zur Erweiterung der Funktionalität.
- Bietet Vespa-Cloud-Services zur Vereinfachung von Bereitstellung und Verwaltung.
- Unterstützung von Multi-Vektor-Darstellungen und hybrider Suche zur Verbesserung der Suchrelevanz.
- Integrierter HNSW-Index zur Optimierung der Leistung bei der Suche nach dem nächsten Nachbarn.
Hilfe verwenden
Installation und Einsatz
Vespa bietet zwei Möglichkeiten der Nutzung: die Bereitstellung über den Vespa Cloud Service oder die lokale Ausführung. Der Cloud-Service eignet sich für einen schnellen Einstieg, während die lokale Bereitstellung für Benutzer geeignet ist, die eine tiefgreifende Anpassung benötigen.
Bereitstellung von Cloud-Diensten
- Interviews
console.vespa-cloud.com
, registrieren Sie sich für ein Konto. - Erstellen Sie eine neue Anwendung, wählen Sie die Region und die Konfiguration (z. B. die Anzahl der Knoten).
- Laden Sie das Datenmodell und die Konfigurationsdateien hoch, und die Plattform automatisiert die Bereitstellung.
- Verwenden Sie die Vespa-API, um Abfragen zu senden und Such- oder Empfehlungsergebnisse zu erhalten.
lokaler Einsatz
- Stellen Sie sicher, dass Java 17 und Maven 3.8+ auf Ihrem System installiert sind, AlmaLinux 8 wird empfohlen.[](https://github.com/vespa-engine/vespa)
- Klonen von GitHub-Repositories:
git clone https://github.com/vespa-engine/vespa
- Wechseln Sie in das Projektverzeichnis und führen Sie den Maven-Build aus:
mvn install
- Wie Sie die Entwicklungsumgebung konfigurieren, erfahren Sie unter
https://docs.vespa.ai/en/getting-started.html
. - Starten Sie die Vespa-Instanz:
vespa deploy
- Fügen Sie Knoten hinzu, um die Redundanz zu erhöhen und eine hohe Verfügbarkeit zu gewährleisten.
Hauptfunktionen
Vektorsuche und hybride Abfragen
Vespa unterstützt gemischte Abfragen von Vektor-, Text- und strukturierten Daten, die sich für komplexe Szenarien wie die Suche im elektronischen Handel eignen. Benutzer können Abfragen über die API senden:
{
"yql": "select * from sources * where userQuery() or nearestNeighbor(vector_field, query_vector);",
"query_vector": [0.1, 0.2, ...],
"hits": 10
}
- VerfahrenHochladen von Daten in Vespa, Definieren von Vektorfeldern und Textfeldern. Schreiben Sie Abfragen mit YQL (Vespa Query Language), die Vektorähnlichkeit und Stichwortsuche kombinieren. Die Ergebnisse werden automatisch auf der Grundlage von Machine-Learning-Modellen sortiert.
- Ausgewählte FunktionenMulti-Vektor-Darstellung wird unterstützt, so dass Dokumente mehrere Vektoren enthalten können, um die Suchgenauigkeit zu verbessern. Bei der akademischen Suche können zum Beispiel sowohl Titel- als auch Inhaltsvektoren abgeglichen werden.
Empfehlungen in Echtzeit
Das Empfehlungssystem von Vespa kombiniert Suche und maschinelles Lernen, um schnell personalisierte Ergebnisse zu liefern. Schritte zur Konfiguration:
- Definieren Sie ein Datenmodell, das Benutzerverhalten und Inhaltsmerkmale enthält.
- Hochladen von Modellen für maschinelles Lernen (z.B. im TensorFlow- oder ONNX-Format).
- Verwenden Sie die API, um die Empfehlungsschnittstelle aufzurufen:
{ "yql": "select * from sources * where user_id = '123';", "ranking": "personalization_model" }
- VerfahrenVespa lädt Nutzer- und Inhaltsdaten hoch und erstellt ein Ranking-Modell; auf der Grundlage des Modells berechnet Vespa in Echtzeit Empfehlungen, die sich für Nachrichtenempfehlungen oder E-Commerce-Produktempfehlungen eignen.
Streaming-Suche
Die Streaming-Suche ist kostengünstig und effizient für persönliche Datenszenarien. Modus Operandi:
- Konfigurieren Sie die Datenquelle, die als Streaming-Modus bezeichnet wird:
{ "schema": { "document": { "mode": "streaming" } } }
- Laden Sie persönliche Daten hoch und senden Sie Abfragen. vespa verarbeitet nur eine Teilmenge der relevanten Daten, was den Ressourcenverbrauch reduziert.
- Ausgewählte FunktionenStreaming-Suche: Die Streaming-Suche macht den Aufbau eines vollständigen Index überflüssig und eignet sich für datenschutzsensible Szenarien wie die Suche nach persönlichen E-Mails.
Erweiterte Funktionalität
Entwickler können die Vespa-Funktionalität mit Java-Komponenten erweitern:
- Schreiben Sie einen benutzerdefinierten Searcher oder Ranker, siehe.
https://docs.vespa.ai/en/developing-applications.html
. - Kompilieren und in einer Vespa-Instanz bereitstellen:
vespa deploy --application my-custom-app
- Testen Sie Funktionen, um die Kompatibilität mit bestehenden APIs sicherzustellen.
Vorsichtsmaßnahmen für die Verwendung
- Aktualisieren Sie Ihre Vespa-Version regelmäßig auf die neuesten Funktionen (z. B. neues Tier-Ranking und Chunking-Unterstützung im Juni 2025)
- Prüfen Sie die API-Dokumentation
https://docs.vespa.ai
stellen Sie sicher, dass die Abfragesyntax korrekt ist. - Die Abonnenten von Cloud-Diensten müssen die Kontingente überwachen, um Dienstunterbrechungen aufgrund von Überschreitungen zu vermeiden.
Anwendungsszenario
- E-Commerce-Suche und -Empfehlungen
Vespa unterstützt eine Suche, die Text, Bilder und strukturierte Daten für E-Commerce-Plattformen kombiniert. Nutzer können nach Produkten suchen und erhalten gleichzeitig personalisierte Empfehlungen. Wenn man beispielsweise "Sportschuhe" eingibt, gibt Vespa passende Produkte zurück und schlägt relevante Modelle vor. - akademische Forschung
Vespa verarbeitet akademische Datensätze (z. B. den Forschungsdatensatz COVID-19) und unterstützt die Vektorsuche und die Abfrage von Schlüsselwörtern. Forscher können Dokumente schnell abrufen und die Forschungseffizienz verbessern. - Personalisierte Inhaltsempfehlungen
Medienplattformen nutzen Vespa, um Empfehlungen für Nachrichten oder Videos zu geben. Das System generiert in Echtzeit eine Liste von Empfehlungen auf der Grundlage des Nutzerverhaltens, um das Nutzererlebnis zu verbessern. - Datenschutzsensitive Suche
Der Streaming-Suchmodus eignet sich für den Umgang mit persönlichen Daten wie E-Mails oder die Suche nach Dokumenten, um die Privatsphäre zu schützen und gleichzeitig effizient zu bleiben.
QA
- Ist die Vespa frei?
Vespa ist eine Open-Source-Plattform, der Code ist kostenlos und wird auf GitHub gehostet. Cloud-Services sind kostenpflichtig, Preise siehehttps://vespa.ai
. - Welche Datentypen werden von Vespa unterstützt?
Unterstützt Vektoren, Text, strukturierte Daten und Tensoren für komplexe Abfragen und Schlussfolgerungen. - Wie lässt sich die Suchleistung optimieren?
Optimierung der Vektorsuche mit Hilfe der HNSW-Indizierung, Abstimmung von Ranking-Modellen zur Verbesserung der Relevanz und Hinzufügen von Knoten zur Verbesserung des Durchsatzes. - Ist die Vespa für kleine Projekte geeignet?
Ja, Vespa unterstützt kleine Implementierungen, die auf einem einzigen Knoten laufen, für Startups oder persönliche Projekte.