API de incorporação compatível com o OpenAI que usa o transformador de frases para incorporação
Imagem do contêiner: ghcr.io/substratusai/stapi
Apoie o projeto adicionando uma estrela! ❤️
Junte -se a nós na discórdia:
Existem 2 opções para instalar o Stapi: Docker ou a instalação local do Python.
Execute a API localmente usando o Docker:
docker run -p 8080:8080 -d ghcr.io/substratusai/stapiInstale e execute o servidor API localmente usando o Python. Suporta apenas o Python 3.9, 3.10 e 3.11.
Clone o repo:
git clone https://github.com/substratusai/stapi
cd stapiInstale dependências:
pip3 install -r requirements.txtExecute o servidor da web:
uvicorn main:app --port 8080 --reloadDepois de instalar o Stapi, você pode visitar os documentos da API em http: // localhost: 8080/docs
Você também pode usar Curl para obter incorporação:
curl http://localhost:8080/v1/embeddings
-H " Content-Type: application/json "
-d ' {
"input": "Your text string goes here",
"model": "all-MiniLM-L6-v2"
} 'Até o cliente Python Openai pode ser usado para obter incorporação:
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 )Qualquer modelo suportado pelos transformadores de sentenças também deve funcionar como está com o Stapi. Aqui está uma lista de modelos pré-treinados disponíveis com transformadores de frases.
Por padrão, o modelo all-MiniLM-L6-v2 é usado e pré-carregado na inicialização. Você pode pré -carregar qualquer modelo suportado definindo a variável de ambiente MODEL .
Por exemplo, se você deseja pré-carregar o multi-qa-MiniLM-L6-cos-v1 , poderá ajustar o comando docker run como este:
docker run -e MODEL=multi-qa-MiniLM-L6-cos-v1 -p 8080:8080 -d
ghcr.io/substratusai/sentence-transformers-api Observe que o Stapi servirá apenas ao modelo com o qual é pré -carregado. Você deve criar outra instância de Stapi para servir outro modelo. O parâmetro model como parte do corpo da solicitação é simplesmente ignorado.
É fácil utilizar o servidor de incorporação com várias outras ferramentas, porque a API é compatível com a API de incorporação do OpenAI.
Você pode usar o módulo Text2vec-Openai text2VEC-Openai e usar o terminal compatível com Stapi OpenAI.
No seu esquema Weaviate, use a seguinte configuração do módulo, assumindo que o terminal Stapi esteja disponível em http://stapi:8080 :
"vectorizer": "text2vec-openai",
"moduleConfig": {
"text2vec-openai": {
"model": "davinci",
"baseURL": "http://stapi:8080"
}
}
Para a tecla API OpenAI, você pode usar qualquer chave, ela não será verificada.
Leia o guia Stapi Weaviate para obter mais detalhes.
Sinta -se à vontade para entrar em contato com qualquer um de nós: