File size: 1,864 Bytes
d411334
12243d7
d411334
 
a97fdba
d411334
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12243d7
d411334
 
12243d7
 
d411334
403317d
 
 
 
 
 
12243d7
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import openai
import gradio as gr
from deep_translator import GoogleTranslator

openai.api_key = "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"  # Replace with your OpenAI API key

language_codes = {
    "English": "en",
    "Tamil": "ta",
    "Telugu": "te",
    "Kannada": "kn",
    "Malayalam": "ml",
    "Hindi": "hi"
}

def translate_input(text, lang):
    if lang != "English":
        return GoogleTranslator(source=language_codes[lang], target="en").translate(text)
    return text

def translate_output(text, lang):
    if lang != "English":
        return GoogleTranslator(source="en", target=language_codes[lang]).translate(text)
    return text

def chatbot(user_input, language):
    try:
        translated_input = translate_input(user_input, language)
        response = openai.ChatCompletion.create(
            model="gpt-3.5-turbo",
            messages=[
                {"role": "system", "content": "You are a polite hospital receptionist."},
                {"role": "user", "content": translated_input}
            ]
        )
        reply = response.choices[0].message.content
        final_reply = translate_output(reply, language)
        return final_reply
    except Exception as e:
        return f"❌ Error: {str(e)}"

iface = gr.Interface(
    fn=chatbot,
    inputs=[
        gr.Textbox(label="Ask your hospital-related question"),
        gr.Dropdown(choices=list(language_codes.keys()), label="Select Language", value="English")
    ],
    outputs=gr.Textbox(label="Receptionist's Response"),
    title="🏥 Multilingual Hospital Receptionist Chatbot"
)

iface.launch()
import gradio as gr

# your function and UI logic here...

demo = gr.Interface(fn=your_function, inputs=..., outputs=...)
demo.launch()