File size: 2,004 Bytes
5f6834d
f2d8bf0
eb44552
 
 
5f6834d
180779d
 
3f43b8f
 
180779d
45e162e
 
 
 
 
 
 
 
 
 
 
180779d
 
 
 
 
 
 
 
 
 
29f5b77
180779d
29f5b77
197c283
3ea7f19
180779d
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import openai
import gradio as gr
import os

openai.api_key = os.getenv("OPENAI_API_KEY")


def CustomChatGPT(category, user_input):
    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"}]
    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})
    try:
        response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=messages
        )
        ChatGPT_reply = response.choices[0].message["content"]
    except openai.api_resources.abstract.api_error.APIError as e:
        if e.type == 'rate_limit':
            ChatGPT_reply = "Rate limit exceeded. Please try again later."
        else:
            ChatGPT_reply = "An error occurred. Please try again later."
    return ChatGPT_reply

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 to add wholesale flower into my inventory?"],
        ["Regulations", "How much cannabis can I buy in New Mexico?"],
        ["Best Practices", "What are the best practices for managing inventory?"],
        ["General Question", "How to increase sales for my dispensary?"],
    ],
    theme=gr.themes.Monochrome()
)