Maximofn's picture
First commit
8e2c98e
|
raw
history blame
1.99 kB
---
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`