|
--- |
|
title: SmolLM2 Backend Local Model |
|
emoji: 📊 |
|
colorFrom: yellow |
|
colorTo: red |
|
sdk: docker |
|
pinned: false |
|
license: apache-2.0 |
|
short_description: Backend of SmolLM2 chatbot with local model |
|
app_port: 7860 |
|
--- |
|
|
|
# SmolLM2 Backend Local Model |
|
|
|
This project implements a FastAPI API that uses LangChain and LangGraph to generate text with the Qwen2.5-72B-Instruct model from HuggingFace. |
|
|
|
## Configuration |
|
|
|
### In HuggingFace Spaces |
|
|
|
This project is designed to run in HuggingFace Spaces. To configure it: |
|
|
|
1. Create a new Space in HuggingFace with SDK Docker |
|
2. Configure the `HUGGINGFACE_TOKEN` or `HF_TOKEN` environment variable in the Space configuration: |
|
- Go to the "Settings" tab of your Space |
|
- Scroll down to the "Repository secrets" section |
|
- Add a new variable with the name `HUGGINGFACE_TOKEN` and your token as the value |
|
- Save the changes |
|
|
|
### Local development |
|
|
|
For local development: |
|
|
|
1. Clone this repository |
|
2. Create a `.env` file in the project root with your HuggingFace token: |
|
``` |
|
HUGGINGFACE_TOKEN=your_token_here |
|
``` |
|
3. Install the dependencies: |
|
``` |
|
pip install -r requirements.txt |
|
``` |
|
|
|
## Local execution |
|
|
|
```bash |
|
uvicorn app:app --reload |
|
``` |
|
|
|
The API will be available at `http://localhost:7860`. |
|
|
|
## Endpoints |
|
|
|
### GET `/` |
|
|
|
Welcome endpoint that returns a greeting message. |
|
|
|
### POST `/generate` |
|
|
|
Endpoint to generate text using the language model. |
|
|
|
**Request parameters:** |
|
```json |
|
{ |
|
"query": "Your question here", |
|
"thread_id": "optional_thread_identifier" |
|
} |
|
``` |
|
|
|
**Response:** |
|
```json |
|
{ |
|
"generated_text": "Generated text by the model", |
|
"thread_id": "thread identifier" |
|
} |
|
``` |
|
|
|
## Docker |
|
|
|
To run the application in a Docker container: |
|
|
|
```bash |
|
# Build the image |
|
docker build -t smollm2-backend . |
|
|
|
# Run the container |
|
docker run -p 7860:7860 --env-file .env smollm2-backend |
|
``` |
|
|
|
## API documentation |
|
|
|
The interactive API documentation is available at: |
|
- Swagger UI: `http://localhost:7860/docs` |
|
- ReDoc: `http://localhost:7860/redoc` |
|
|