OpenAI, совместимый с API, использующим трансформатор предложений для внедрения
Изображение контейнера: ghcr.io/substratusai/stapi
Поддержите проект, добавив звезду! ❤
Присоединяйтесь к нам на Discord:
Есть 2 варианта установки Stapi: Docker или Local Python Install.
Запустите API локально с помощью 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Запустите WebServer:
uvicorn main:app --port 8080 --reloadПосле того, как вы установили Stapi, вы можете посетить документы API на http: // localhost: 8080/docs
Вы также можете использовать Curl, чтобы получить встраивание:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-d ' {
"input": "Your text string goes here",
"model": "all-MiniLM-L6-v2"
} 'Даже клиент Python Openai может быть использован для получения внедрения:
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 совместим с API Encding OpenAI.
Вы можете использовать модуль Weaviate Text2Vec-Openai и использовать совместимую конечную точку STAPI OpenAI.
В вашей схеме Weaviate используйте следующую конфигурацию модуля, предполагая, что конечная точка Stapi доступна по адресу http://stapi:8080 :
"vectorizer": "text2vec-openai",
"moduleConfig": {
"text2vec-openai": {
"model": "davinci",
"baseURL": "http://stapi:8080"
}
}
Для ключа API OpenAI вы можете использовать любой ключ, он не будет проверен.
Прочитайте руководство Stapi Weaviate для получения более подробной информации.
Не стесняйтесь обращаться к любому из нас: