Spaces:
Runtime error
Runtime error
| from fastapi import FastAPI, HTTPException | |
| from pydantic import BaseModel | |
| from huggingface_hub import InferenceClient | |
| import os | |
| import gradio as gr | |
| app = FastAPI() | |
| client = InferenceClient(model="HuggingFaceH4/zephyr-7b-beta", token=os.getenv("huggingface_token")) | |
| class Message(BaseModel): | |
| input: str | |
| history: list | |
| async def home(): | |
| return {"message": "Welcome to the chatbot API!"} | |
| async def chat(message: Message): | |
| try: | |
| input_message = message.input | |
| # Call the chatbot function | |
| response = chatbot(input_message) | |
| return {"response": response} | |
| except Exception as e: | |
| raise HTTPException(status_code=500, detail=str(e)) | |
| def chatbot(input, history): | |
| try: | |
| # Call your chatbot function here | |
| message = [{"role": "user", "content": input}] | |
| history = [{"role": "system", "content": "You are a helpful assistant."}] | |
| messages = history + message | |
| output = client.chat_completion( | |
| messages=messages, | |
| max_tokens=4000, | |
| temperature=0.7 | |
| ) | |
| return output.choices[0].message.content | |
| except Exception as e: | |
| raise Exception(str(e)) | |
| # Define the Gradio chat interface | |
| def gradio_chat(input): | |
| response = chatbot(input, []) | |
| return response | |
| # Define Gradio inputs and outputs | |
| inputs = [gr.Textbox(lines=5, label="Input")] | |
| output = gr.Textbox(label="Response") | |
| # Create Gradio interface | |
| gr.Interface(chatbot, inputs=inputs, outputs=output, title="Chatbot",fill_height=True).launch() | |