Download app__.py from Ankit93/learning: direct link, hf CLI and curl.
- Browser
- Download file 1.55 kB
-
https://huggingface.co/spaces/Ankit93/learning/resolve/main/app__.py
- Command line
-
hf download hf://spaces/Ankit93/learning/app__.py
-
curl -L -o app__.py https://huggingface.co/spaces/Ankit93/learning/resolve/main/app__.py
1.55 kB
| # --- Gradio App --- | |
| import uuid | |
| import gradio as gr | |
| from src.controller.agent import ChatBot | |
| chatbot = ChatBot() | |
| session_store = {} | |
| session = "" | |
| def build_request(user_input): | |
| return { | |
| "query": user_input, | |
| "metadata": { | |
| "user_id": "123", | |
| "timestamp": "2025-04-20T12:00:00" | |
| } | |
| } | |
| def chat(session_id, user_input, history): | |
| if session_id not in session_store: | |
| session_store[session_id] = [] | |
| if user_input.strip(): | |
| request = build_request(user_input) | |
| agent = chatbot.agent_cacher.get_agent_for(session_id, request) | |
| reply = agent.agentic_chat(user_input) | |
| session_store[session_id].append(("You", user_input)) | |
| session_store[session_id].append(("Agent", reply)) | |
| updated_history = [(sender, message) for sender, message in session_store[session_id]] | |
| return reply, "" | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# 🧠 Chat with LlamaIndex Agent") | |
| with gr.Row(): | |
| if not session: | |
| session = uuid.uuid4() | |
| session_id = gr.Textbox(label="Session ID", value=session) | |
| with gr.Row(): | |
| chatbot_ui = gr.Chatbot(label="Chat History", height=400) | |
| with gr.Row(): | |
| user_input = gr.Textbox(label="Your Query", placeholder="Enter your query here...") | |
| with gr.Row(): | |
| send_btn = gr.Button("Send") | |
| send_btn.click( | |
| chat, | |
| inputs=[session_id, user_input, chatbot_ui], | |
| outputs=[chatbot_ui, user_input], | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() |