واجهة برمجة تطبيقات التضمين المتوافقة مع Openai التي تستخدم محول الجملة للتضمينات
صورة الحاوية: ghcr.io/substratusai/stapi
دعم المشروع بإضافة نجمة! ❤
انضم إلينا في Discord:
هناك خياران لتثبيت Stapi: Docker أو تثبيت Python المحلي.
قم بتشغيل واجهة برمجة التطبيقات محليًا باستخدام Docker:
docker run -p 8080:8080 -d ghcr.io/substratusai/stapiتثبيت وتشغيل خادم API محليًا باستخدام Python. يدعم فقط Python 3.9 و 3.10 و 3.11.
استنساخ الريبو:
git clone https://github.com/substratusai/stapi
cd stapiتثبيت التبعيات:
pip3 install -r requirements.txtقم بتشغيل خادم الويب:
uvicorn main:app --port 8080 --reloadبعد تثبيت Stapi ، يمكنك زيارة مستندات API على http: // localhost: 8080/docs
يمكنك أيضًا استخدام حليقة للحصول على تضمينات:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-d ' {
"input": "Your text string goes here",
"model": "all-MiniLM-L6-v2"
} 'حتى عميل Openai Python يمكن استخدامه للحصول على التضمين:
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 )يجب على أي نموذج مدعوم من قبل محولات الجملة أن يعمل كما هو مع Stapi. فيما يلي قائمة بالنماذج التي تم تدريبها مسبقًا مع محولات الجملة.
بشكل افتراضي ، يتم استخدام نموذج all-MiniLM-L6-v2 ومحمله مسبقًا على بدء التشغيل. يمكنك تحميل أي نموذج مدعوم من خلال تعيين متغير بيئة MODEL .
على سبيل المثال ، إذا كنت ترغب في التحميل مسبقًا إلى multi-qa-MiniLM-L6-cos-v1 ، فيمكنك تعديل أمر docker run مثل هذا:
docker run -e MODEL=multi-qa-MiniLM-L6-cos-v1 -p 8080:8080 -d
ghcr.io/substratusai/sentence-transformers-api لاحظ أن Stapi سوف يخدم النموذج فقط الذي يتم تحميله مسبقًا. يجب عليك إنشاء مثيل آخر من Stapi لتقديم نموذج آخر. يتم تجاهل المعلمة model كجزء من جسم الطلب ببساطة.
من السهل الاستفادة من خادم التضمين باستخدام أدوات أخرى مختلفة لأن واجهة برمجة التطبيقات متوافقة مع API Openai.
يمكنك استخدام وحدة Weaviate Text2Vec-Openai واستخدام نقطة النهاية المتوافقة مع STAPI Openai.
في مخطط Weaviate ، استخدم تكوين الوحدة النمطية التالية ، على افتراض أن نقطة نهاية STAPI متوفرة في http://stapi:8080 :
"vectorizer": "text2vec-openai",
"moduleConfig": {
"text2vec-openai": {
"model": "davinci",
"baseURL": "http://stapi:8080"
}
}
بالنسبة لمفتاح Openai API ، يمكنك استخدام أي مفتاح ، ولن يتم فحصه.
اقرأ دليل Stapi Weaviate لمزيد من التفاصيل.
لا تتردد في الاتصال بأي منا: