Spaces:
Runtime error
Runtime error
import os | |
import openai | |
import gradio as gr | |
openai.api_key = os.getenv("OPENAI_API_KEY") | |
messages = [{"role": "system", "content": "You are an expert in Technical Support and Customer Service that specializes in New Mexico Cannabis Regulatory Compliance and training people how to use software called BioTrack"}] | |
def CustomChatGPT(category, user_input): | |
user_input = f"In the context of {category} specifically and using your expertise and knowledge of cannabis regulations in New Mexico and BioTrack" + user_input | |
messages.append({"role": "user", "content": user_input}) | |
response = openai.ChatCompletion.create( | |
model="gpt-3.5-turbo", | |
messages=messages | |
) | |
ChatGPT_reply = response["choices"][0]["message"]["content"] | |
messages.append({"role": "assistant", "content": ChatGPT_reply}) | |
return ChatGPT_reply | |
# Define the authentication function | |
def check_auth(username, password): | |
valid_credentials = [ | |
("user1", "password1"), | |
("user2", "password2"), | |
("user3", "password3"), | |
("user4", "password4"), | |
("user5", "password5") | |
] | |
for valid_username, valid_password in valid_credentials: | |
if username == valid_username and password == valid_password: | |
return True | |
return False | |
iface = gr.Interface( | |
fn=CustomChatGPT, | |
inputs=[gr.inputs.Dropdown(choices=['BioTrack', 'Regulations', 'Best Practices', 'General Question'], label='Category'), gr.inputs.Textbox(lines=1, placeholder='Type here...', label='Your Question')], | |
outputs=gr.outputs.Textbox(label='AI Response'), | |
title="CannaAssist AI Assistant", | |
description="Welcome to the CannaAssist AI Assistant. This tool is designed to provide expert guidance on BioTrack and cannabis regulations in New Mexico. DISCLAIMER: This is a proof of concept and not an official product.", | |
examples=[ | |
["BioTrack", "How do I update inventory quantities in BioTrack?"], | |
["BioTrack", "What is the process to transfer product between locations in BioTrack?"], | |
["BioTrack", "How can I generate sales reports in BioTrack?"], | |
["Regulations", "What are the packaging requirements for cannabis products in New Mexico?"], | |
["Regulations", "Can I sell cannabis online in New Mexico?"], | |
["Regulations", "What are the license requirements for opening a dispensary in New Mexico?"], | |
["Best Practices", "What are the benefits of offering delivery service for my dispensary?"], | |
["Best Practices", "What are best practices for managing inventory?"], | |
["Best Practices", "How can I improve my dispensary's customer service?"], | |
["General Question", "How to increase sales for my dispensary?"], | |
["General Question", "What are the benefits of offering delivery service for my dispensary?"], | |
["General Question", "What are the key trends in the cannabis industry?"] | |
], | |
theme=gr.themes.Monochrome(), | |
cache_examples=False # Turn off example caching | |
) | |
# Launch the interface with authentication | |
iface.launch(auth=check_auth) | |