| | import gradio as gr |
| | import os |
| | import requests |
| |
|
| | |
| | HF_API_KEY = "HF_API_KEY" |
| | API_URL = "https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct" |
| |
|
| | headers = {"Authorization": f"Bearer {HF_API_KEY}"} |
| |
|
| | def query_huggingface(payload): |
| | response = requests.post(API_URL, headers=headers, json=payload) |
| | return response.json() |
| |
|
| | def ai_tutor(question): |
| | payload = { |
| | "inputs": question, |
| | "parameters": {"max_new_tokens": 100, "temperature": 0.7} |
| | } |
| | |
| | result = query_huggingface(payload) |
| | |
| | |
| | if "error" in result: |
| | return "Sorry, I couldn't process the request at the moment." |
| | |
| | return result[0]["generated_text"] |
| |
|
| | |
| | with gr.Blocks() as demo: |
| | gr.Markdown("## 🤖 AI-Powered Mechanical Engineering Learning Chatbot") |
| | chatbot = gr.Chatbot() |
| | input_text = gr.Textbox(label="Ask a Question") |
| | submit_btn = gr.Button("Submit") |
| |
|
| | def respond(message, history): |
| | response = ai_tutor(message) |
| | history.append((message, response)) |
| | return history, "" |
| |
|
| | submit_btn.click(respond, inputs=[input_text, chatbot], outputs=[chatbot, input_text]) |
| |
|
| | demo.launch() |
| |
|