임베딩에 문장 변압기를 사용하는 OpenAi 호환 임베딩 API
컨테이너 이미지 : ghcr.io/substratusai/stapi
스타를 추가하여 프로젝트를 지원하십시오! ❤️
Discord에 우리와 함께하십시오 :
Docker 또는 로컬 파이썬 설치의 STAPI를 설치하는 두 가지 옵션이 있습니다.
Docker를 사용하여 로컬로 API를 실행하십시오.
docker run -p 8080:8080 -d ghcr.io/substratusai/stapiPython을 사용하여 API 서버를 로컬로 설치하고 실행하십시오. 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 --reloadStapi를 설치 한 후 http : // localhost : 8080/docs의 API 문서를 방문 할 수 있습니다.
Curl을 사용하여 임베딩을 얻을 수도 있습니다.
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 Embedding API와 호환되기 때문에 다양한 다른 도구와 함께 포함 서버를 쉽게 사용할 수 있습니다.
Weaviate Text2Vec-Openai 모듈을 사용하고 stapi openai 호환 엔드 포인트를 사용할 수 있습니다.
weaviate 스키마에서 stapi endpoint를 http://stapi:8080 에서 사용할 수 있다고 가정하면 다음 모듈 구성을 사용하십시오.
"vectorizer": "text2vec-openai",
"moduleConfig": {
"text2vec-openai": {
"model": "davinci",
"baseURL": "http://stapi:8080"
}
}
OpenAI API 키의 경우 모든 키를 사용할 수 있습니다. 확인하지 않습니다.
자세한 내용은 Stapi Weaviate 안내서를 읽으십시오.
저희에게 연락하십시오.