Openai kompatibel embedding API yang menggunakan transformator kalimat untuk embeddings
Gambar Kontainer: ghcr.io/substratusai/stapi
Dukung proyek dengan menambahkan bintang! ❤️
Bergabunglah dengan kami di Perselisihan:
Ada 2 opsi untuk menginstal STAPI: Docker atau instalasi ular python lokal.
Jalankan API secara lokal menggunakan Docker:
docker run -p 8080:8080 -d ghcr.io/substratusai/stapiInstal dan jalankan server API secara lokal menggunakan Python. Hanya mendukung Python 3.9, 3.10 dan 3.11.
Kloning repo:
git clone https://github.com/substratusai/stapi
cd stapiInstal dependensi:
pip3 install -r requirements.txtJalankan server web:
uvicorn main:app --port 8080 --reloadSetelah Anda menginstal STAPI, Anda dapat mengunjungi dokumen API di http: // localhost: 8080/docs
Anda juga dapat menggunakan Curl untuk mendapatkan embeddings:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-d ' {
"input": "Your text string goes here",
"model": "all-MiniLM-L6-v2"
} 'Bahkan klien Openai Python dapat digunakan untuk mendapatkan embeddings:
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 )Setiap model yang didukung oleh transformator kalimat juga harus bekerja apa adanya dengan STAPI. Berikut adalah daftar model pra-terlatih yang tersedia dengan transformator kalimat.
Secara default, model all-MiniLM-L6-v2 digunakan dan dimuat sebelumnya saat startup. Anda dapat memuat model yang didukung dengan mengatur variabel lingkungan MODEL .
Misalnya, jika Anda ingin memulai multi-qa-MiniLM-L6-cos-v1 , Anda dapat mengubah perintah docker run seperti ini:
docker run -e MODEL=multi-qa-MiniLM-L6-cos-v1 -p 8080:8080 -d
ghcr.io/substratusai/sentence-transformers-api Perhatikan bahwa STAPI hanya akan melayani model yang dimuat. Anda harus membuat contoh STAPI lain untuk melayani model lain. Parameter model sebagai bagian dari badan permintaan diabaikan.
Sangat mudah untuk memanfaatkan server embedding dengan berbagai alat lain karena API kompatibel dengan Openai Embedding API.
Anda dapat menggunakan modul Weaviate Text2Vec-Openai dan menggunakan titik akhir yang kompatibel dengan STAPI OpenAI.
Dalam skema Weaviate Anda, gunakan konfigurasi modul berikut, dengan asumsi titik akhir STAPI tersedia di http://stapi:8080 :
"vectorizer": "text2vec-openai",
"moduleConfig": {
"text2vec-openai": {
"model": "davinci",
"baseURL": "http://stapi:8080"
}
}
Untuk tombol API OpenAI, Anda dapat menggunakan kunci apa pun, itu tidak akan diperiksa.
Baca panduan Weaviate stapi untuk detail lebih lanjut.
Jangan ragu untuk menghubungi salah satu dari kita: