Willkommen im Vector Store API -Projekt! Dieses Projekt zielt darauf ab, eine effiziente und skalierbare API zum Einbetten und Speichern von Vektoren bereitzustellen, wodurch die Leistung von Fastapi, Langchain und einer Vektordatenbank wie Chroma nutzt. Unabhängig davon, ob Sie sich mit Text, Bildern oder Daten befassen, die in Vektoren umgewandelt und über die Ähnlichkeitssuche abgerufen werden müssen, hat diese API Sie abgedeckt. ?
In diesen Anweisungen werden Ihre Kopie des Projekts für Entwicklung und Testzwecke auf Ihrem lokalen Computer ausgeführt.
Aufgabe 1: Richten Sie eine virtuelle Umgebung für das Projekt ein, um Abhängigkeiten zu verwalten.
Aufgabe 2: Installieren Sie Fastapi und Uvicorn (ASGI -Server) mit PIP.
Aufgabe 3: Installieren von Chroma oder einem anderen Vektor -Datenbank -Client -Bibliotheksprojekt werden verwendet.
Aufgabe 1: Definieren Sie die Endpunkte, die wir benötigen. Betrachten Sie Folgendes:
Ein Endpunkt für das Hochladen von Dateien oder Text, die vektorisiert werden sollen.
Ein Endpunkt, um die gespeicherten Vektoren mithilfe der Ähnlichkeitssuche zu durchsuchen.
Ein Endpunkt, um bestimmte Vektoren oder ihre Metadaten aufzulisten oder abzurufen.
Aufgabe 2: Planen Sie die Anforderungs- und Antwortmodelle für Endpunkte mithilfe pydantischer Modelle.
Aufgabe 1: Implementieren Sie den Endpunkt der Datei/des Text -Uploads.
Analysieren Sie die Eingabedaten.
Einbetten Sie die Eingabe in ein Vektorformular ein (Sie benötigen möglicherweise eine externe Bibliothek oder einen Dienst zum Einbetten, z. B. Tensorflow für Bilder oder die Transformatoren von Face für Text).
Lagern Sie den Vektor in Chroma mit relevanten Metadaten.
Aufgabe 2: Implementieren Sie den Suchendpunkt.
Akzeptieren Sie eine Abfrage als Eingabe und konvertieren sie in einen Vektor.
Führen Sie eine Ähnlichkeitssuche in Chroma durch.
Geben Sie die engsten Spiele zurück.
Aufgabe 3: Implementieren Sie nach Bedarf Hilfendpunkte (zum Auflisten, Aktualisieren oder Löschen von Vektoren).
Aufgabe 1: Wählen Sie eine geeignete Vektor -Datenbank (Chroma, in diesem Fall).
Aufgabe 2: Implementieren Sie die Datenspeicherlogik für Vektoren.
Aufgabe 3: Implementieren Sie die Abruf- und Suchlogik mithilfe der Suchfunktionen von Chroma.
Aufgabe 1: Schreiben Sie Unit -Tests für Ihre API -Endpunkte, um sicherzustellen, dass sie wie erwartet funktionieren.
Aufgabe 2: Testvektorspeicher und Abruffunktionalität in Chroma.
Aufgabe 3: Führen Sie End [] bis [] Endtests der gesamten API durch.
Aufgabe 1: Dokument -API mit Fastapi's gebaut [] in der Swagger -Benutzeroberfläche.
Aufgabe 2: Bereiten Sie das Projekt für die Bereitstellung vor (Erwägen Sie Docker für die Containerisierung).
Aufgabe 3: API bereitstellen (Optionen gehören Heroku, AWS oder GCP).
Beiträge machen die Open-Source-Community zu einem erstaunlichen Ort, um zu lernen, zu inspirieren und zu kreieren. Alle Beiträge, die Sie leisten, werden sehr geschätzt . ?
Dieses Projekt ist unter der MIT -Lizenz lizenziert - finden Sie in der lizenz.md -Datei für Einzelheiten.