| | import gradio as gr |
| |
|
| | |
| | team_leads = [ |
| | "Neeraj (Healthcare)", |
| | "Ramya (Finance)", |
| | "Sita (E-commerce)", |
| | "Arjun (Logistics)" |
| | ] |
| |
|
| | |
| | neeraj_team = [ |
| | "Abhi", |
| | "Bharat", |
| | "Keerthi", |
| | "Ramya", |
| | "Pranay", |
| | "Gopal" |
| | ] |
| |
|
| | |
| | def chatbot(user_input, conversation_state=None): |
| | |
| | if conversation_state is None: |
| | conversation_state = {"step": "initial"} |
| |
|
| | user_input = user_input.lower().strip() |
| |
|
| | |
| | if conversation_state["step"] == "initial" and user_input == "hi": |
| | conversation_state["step"] = "options" |
| | return ( |
| | "Hi! Welcome to Sathkrutha Solutions. Please select an option:\n" |
| | "1. Available Teams\n" |
| | "2. Current Projects\n" |
| | "3. Sales Team\n" |
| | "4. Delivery Team", |
| | conversation_state |
| | ) |
| |
|
| | |
| | elif conversation_state["step"] == "options": |
| | if user_input == "1": |
| | conversation_state["step"] = "team_leads" |
| | |
| | numbered_leads = [f"{i+1}. {lead}" for i, lead in enumerate(team_leads)] |
| | return ( |
| | "Available Team Leads:\n" + "\n".join(numbered_leads) + "\n\nType the name of a team lead (e.g., 'Neeraj') to see their team members.", |
| | conversation_state |
| | ) |
| | elif user_input in ["2", "3", "4"]: |
| | conversation_state["step"] = "initial" |
| | return ( |
| | f"You selected option {user_input}. This feature is under development.", |
| | conversation_state |
| | ) |
| | else: |
| | return ( |
| | "Please select a valid option (1, 2, 3, or 4).", |
| | conversation_state |
| | ) |
| |
|
| | |
| | elif conversation_state["step"] == "team_leads": |
| | if user_input == "neeraj": |
| | conversation_state["step"] = "initial" |
| | |
| | numbered_members = [f"{i+1}. {member}" for i, member in enumerate(neeraj_team)] |
| | return ( |
| | "Neeraj's Team Members:\n" + "\n".join(numbered_members), |
| | conversation_state |
| | ) |
| | else: |
| | conversation_state["step"] = "initial" |
| | return ( |
| | "Please select a valid team lead name (e.g., 'Neeraj'). Type 'hi' to start over.", |
| | conversation_state |
| | ) |
| |
|
| | |
| | return ( |
| | "Please type 'hi' to start the conversation.", |
| | conversation_state |
| | ) |
| |
|
| | |
| | iface = gr.Interface( |
| | fn=chatbot, |
| | inputs=[ |
| | gr.Textbox(lines=2, placeholder="Type 'hi' or select an option..."), |
| | gr.State() |
| | ], |
| | outputs=["text", gr.State()], |
| | title="Sathkrutha Solutions Chatbot", |
| | description="Type 'hi' to start and select options to interact." |
| | ) |
| |
|
| | |
| | if __name__ == "__main__": |
| | iface.launch() |