A FastAPI-based server that provides text embeddings using the INSTRUCTOR-large model, offering an OpenAI-compatible API interface.
- OpenAI-compatible API endpoint for text embeddings
- Uses the powerful INSTRUCTOR-large model
- Support for both single text and batch text embedding generation
- Token usage tracking
- REST API with FastAPI
- Docker, Docker Compose
- Sufficient disk space for the model (approximately 5GB)
- Stable internet connection (for initial model download)
- Clone the repository:
git clone https://github.com/Ercogx/embedding-server && cd embedding-server - Run docker
docker compose up -d Generate embeddings for given text(s).
Request Body:
{
"model": "instructor-large",
"input": "string or array of strings"
}{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [float],
"index": integer
}
],
"model": "instructor-large",
"usage": {
"prompt_tokens": integer,
"total_tokens": integer
}
}The server provides appropriate error messages for common issues:
- 400: Invalid model specified
- 503: Model not initialized
- 500: Internal server error during embedding generation
The project is open-sourced software licensed under the MIT license.
We welcome contributions!