Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from fastai.vision.all import * | |
| import openai | |
| import os | |
| openai.api_key = os.getenv("OPENAI_API_KEY") | |
| learn = load_learner('model.pkl') | |
| # Define the labels | |
| labels = learn.dls.vocab | |
| # Define a function for generating text | |
| def generate_text(prompt): | |
| response = openai.Completion.create( | |
| engine="davinci", | |
| prompt=prompt, | |
| max_tokens=1024, | |
| n=1, | |
| stop=None, | |
| temperature=0.7, | |
| ) | |
| return response.choices[0].text.strip() | |
| # Define a function to handle user queries | |
| def handle_query(query, chat_history): | |
| response = openai.ChatCompletion.create( | |
| model="gpt-3.5-turbo", | |
| messages=[{"role": "system", "content": "You are a helpful assistant."}, | |
| {"role": "user", "content": query}] + chat_history | |
| ) | |
| return response.choices[0].message['content'] | |
| # Define the prediction function | |
| def predict(img): | |
| img = PILImage.create(img) | |
| pred,pred_idx,probs = learn.predict(img) | |
| prediction = {labels[i]: float(probs[i]) for i in range(len(labels))} | |
| chat_prompt = f"The model predicted {prediction}." | |
| chat_response = generate_text(chat_prompt) | |
| return {**prediction, 'chat_response': chat_response} | |
| # Define the chat function | |
| def chat(query, chat_history): | |
| chat_response = handle_query(query, chat_history) | |
| return chat_response | |
| # Define the examples | |
| examples = ['image.jpg'] | |
| # Define the interpretation | |
| interpretation='default' | |
| # Define the enable_queue | |
| enable_queue=True | |
| # Launch the interface | |
| gr.Interface(fn=predict,inputs=gr.inputs.Image(shape=(512, 512)),outputs=gr.outputs.Label(num_top_classes=3),examples=examples,interpretation=interpretation,enable_queue=enable_queue).launch() |