OpenAI -kompatible Einbettungs -API, die Satztransformator für Einbettungen verwendet
Containerbild: ghcr.io/substratusai/stapi
Unterstützen Sie das Projekt, indem Sie einen Stern hinzufügen! ❤️
Begleiten Sie uns auf Zwietracht:
Es gibt 2 Optionen zur Installation von Stapi: Docker oder lokaler Python -Installation.
Führen Sie die API lokal mit Docker aus:
docker run -p 8080:8080 -d ghcr.io/substratusai/stapiInstallieren und führen Sie den API -Server lokal mit Python aus. Unterstützt nur Python 3.9, 3.10 und 3.11.
Klonen Sie das Repo:
git clone https://github.com/substratusai/stapi
cd stapiAbhängigkeiten installieren:
pip3 install -r requirements.txtFühren Sie den Webserver aus:
uvicorn main:app --port 8080 --reloadNachdem Sie Stapi installiert haben, können Sie die API -Dokumente unter http: // localhost: 8080/docs besuchen
Sie können auch Curl verwenden, um Einbettung zu erhalten:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-d ' {
"input": "Your text string goes here",
"model": "all-MiniLM-L6-v2"
} 'Sogar der Openai Python -Client kann verwendet werden, um Einbettung zu erhalten:
import openai
openai . api_base = "http://localhost:8080/v1"
openai . api_key = "this isn't used but openai client requires it"
model = "all-MiniLM-L6-v2"
embedding = openai . Embedding . create ( input = "Some text" , model = model )[ "data" ][ 0 ][ "embedding" ]
print ( embedding )Jedes Modell, das von Satztransformatoren unterstützt wird, sollte auch mit Stapi arbeiten. Hier finden Sie eine Liste der vorhandenen Modelle, die mit Satztransformatoren verfügbar sind.
Standardmäßig wird das all-MiniLM-L6-v2 Modell verwendet und beim Start vorinstalliert. Sie können jedes unterstützte Modell vorladen, indem Sie die MODEL festlegen.
Wenn Sie beispielsweise den multi-qa-MiniLM-L6-cos-v1 vorladen möchten, können Sie den Befehl docker run so optimieren:
docker run -e MODEL=multi-qa-MiniLM-L6-cos-v1 -p 8080:8080 -d
ghcr.io/substratusai/sentence-transformers-api Beachten Sie, dass Stapi nur dem Modell dient, mit dem es vorinstalliert ist. Sie sollten eine andere Instanz von Stapi erstellen, um einem anderen Modell zu dienen. Der model als Teil des Anforderungskörpers wird einfach ignoriert.
Es ist einfach, den Einbettungsserver mit verschiedenen anderen Tools zu verwenden, da die API mit der OpenAI -Einbettungs -API kompatibel ist.
Sie können das Weaviate Text2VEC-OpenAI-Modul und den stapi openai kompatiblen Endpunkt verwenden.
Verwenden Sie in Ihrem WeaViate -Schema die folgende Modulkonfiguration unter der Annahme, dass der Stapi -Endpunkt unter http://stapi:8080 verfügbar ist:
"vectorizer": "text2vec-openai",
"moduleConfig": {
"text2vec-openai": {
"model": "davinci",
"baseURL": "http://stapi:8080"
}
}
Für den OpenAI -API -Schlüssel können Sie einen beliebigen Schlüssel verwenden. Sie wird nicht überprüft.
Lesen Sie den Stapi -Weaviate -Handbuch für weitere Informationen.
Wenden Sie sich gerne an einen von uns: