metadata
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:
- Create a new Space in HuggingFace with SDK Docker
- Configure the
HUGGINGFACE_TOKEN
orHF_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:
- Clone this repository
- Create a
.env
file in the project root with your HuggingFace token:HUGGINGFACE_TOKEN=your_token_here
- Install the dependencies:
pip install -r requirements.txt
Local execution
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:
{
"query": "Your question here",
"thread_id": "optional_thread_identifier"
}
Response:
{
"generated_text": "Generated text by the model",
"thread_id": "thread identifier"
}
Docker
To run the application in a Docker container:
# 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