Download app.py from ramosdev/chari: direct link, hf CLI and curl.
- Browser
- Download file 1.64 kB
-
https://huggingface.co/spaces/ramosdev/chari/resolve/main/app.py
- Command line
-
hf download hf://spaces/ramosdev/chari/app.py
-
curl -L -o app.py https://huggingface.co/spaces/ramosdev/chari/resolve/main/app.py
1.64 kB
| import gradio as gr | |
| from main import ( | |
| graph_app, | |
| HumanMessage, | |
| AIMessage, | |
| SystemMessage, | |
| DEFAULT_SYSTEM_PROMPT, | |
| app as fastapi_app | |
| ) | |
| def chat_fn(message, history): | |
| messages = [SystemMessage(content=DEFAULT_SYSTEM_PROMPT)] | |
| if history: | |
| for turn in history: | |
| if isinstance(turn, dict): | |
| role = turn.get("role", "user") | |
| content = turn.get("content", "") | |
| if role == "assistant": | |
| messages.append(AIMessage(content=content)) | |
| else: | |
| messages.append(HumanMessage(content=content)) | |
| elif isinstance(turn, (list, tuple)) and len(turn) == 2: | |
| if turn[0]: | |
| messages.append(HumanMessage(content=str(turn[0]))) | |
| if turn[1]: | |
| messages.append(AIMessage(content=str(turn[1]))) | |
| messages.append(HumanMessage(content=message)) | |
| output = graph_app.invoke({"messages": messages}) | |
| return output["messages"][-1].content | |
| # Interfaz interactiva de Chat de Gradio (Modo Ilimitado 24/7 en CPU Basic) | |
| demo = gr.ChatInterface( | |
| fn=chat_fn, | |
| title="⚡ Qwen 2.5 (0.5B) • Intelecto Conciso", | |
| description="Chatbot superinteligente, hiperpreciso y conciso en español. Ilimitado 24/7 con LangGraph y llama-cpp-python en Hugging Face Spaces (16 GB RAM).", | |
| examples=["¿Qué es la entropía?", "¿Por qué el cielo es azul?", "¿Qué es la vida?"], | |
| ) | |
| # Integrar las rutas de FastAPI (/chat, /healthz, /docs) en la misma app | |
| demo.app.include_router(fastapi_app.router) | |
| if __name__ == "__main__": | |
| demo.launch() | |