from fastapi import FastAPI, HTTPException from fastapi.middleware.cors import CORSMiddleware from pydantic import BaseModel from huggingface_hub import InferenceClient app = FastAPI() # Permette la comunicazione tra il browser e il server Python app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], ) # Sostituisci "IL_TUO_TOKEN_HUGGING_FACE" con il tuo vero token (inizia con hf_...) HF_TOKEN = "IL_TUO_TOKEN_HUGGING_FACE" client = InferenceClient(api_key=HF_TOKEN) class Message(BaseModel): role: str content: str class ChatRequest(BaseModel): messages: list[Message] @app.post("/api/chat") async def chat(request: ChatRequest): try: formatted_messages = [{"role": msg.role, "content": msg.content} for msg in request.messages] completion = client.chat.completions.create( model="meta-llama/Meta-Llama-3-8B-Instruct", messages=formatted_messages, max_tokens=500, temperature=0.7 ) reply = completion.choices[0].message.content return {"response": reply} except Exception as e: print(f"Errore server: {e}") raise HTTPException( status_code=500, detail="Errore di risposta da Hugging Face. Controlla che il Token sia corretto." ) if __name__ == "__main__": import uvicorn uvicorn.run(app, host="127.0.0.1", port=8000) Chatbot IA
AI Assistant
Ciao! Come posso aiutarti oggi?