# import gradio as gr | |
# from mcp.client.stdio import StdioServerParameters | |
# from smolagents import InferenceClientModel, CodeAgent | |
# from smolagents.mcp_client import MCPClient | |
# from transformers import pipeline | |
# from transformers import AutoModelForCausalLM, AutoTokenizer | |
# import torch | |
# # Initialize the MCP client correctly | |
# try: | |
# mcp_client = MCPClient( | |
# ## Try this working example on the hub: | |
# # {"url": "https://abidlabs-mcp-tools.hf.space/gradio_api/mcp/sse"} | |
# {"url": "https://captain-awesome-alquranchapters.hf.space/gradio_api/mcp/sse"} | |
# ) | |
# tools = mcp_client.get_tools() | |
# # model = InferenceClientModel() | |
# # model = TransformersModel( | |
# # model_id="Qwen/Qwen2.5-Coder-32B-Instruct", | |
# # device="cuda", | |
# # max_new_tokens=5000, | |
# # ) | |
# model_id = "unsloth/Llama-3.2-1B" | |
# model = AutoModelForCausalLM.from_pretrained( | |
# model_id, | |
# torch_dtype=torch.bfloat16, | |
# device_map="auto" | |
# ) | |
# agent = CodeAgent(tools=[*tools], model=model) | |
# # Define Gradio ChatInterface | |
# demo = gr.ChatInterface( | |
# fn=lambda message, history: str(agent.run(message)), | |
# type="messages", | |
# title="Agent with MCP Tools", | |
# description="This is a simple agent that uses MCP tools to get chapters of the Quran.", | |
# ) | |
# demo.launch(share=True) | |
# finally: | |
# # Properly close the MCP client connection | |
# # if 'mcp_client' in locals(): | |
# # mcp_client.disconnect() | |
# mcp_client.disconnect() | |
import gradio as gr | |
import asyncio | |
from smolagents.mcp_client import MCPClient | |
from transformers import AutoModelForCausalLM | |
import torch | |
from mcp.client.stdio import StdioServerParameters | |
from smolagents import InferenceClientModel, CodeAgent, ToolCollection | |
import os | |
try: | |
mcp_client = MCPClient( | |
## Try this working example on the hub: | |
# {"url": "https://abidlabs-mcp-tools.hf.space/gradio_api/mcp/sse"} | |
{"url": "https://captain-awesome-alquranchapters.hf.space/gradio_api/mcp/sse"} | |
) | |
tools = mcp_client.get_tools() | |
model = InferenceClientModel(token=os.getenv("HUGGINGFACE_API_TOKEN")) | |
agent = CodeAgent(tools=[*tools], model=model, additional_authorized_imports=["json", "ast", "urllib", "base64"]) | |
# model_id = "unsloth/Llama-3.2-1B" | |
# model = AutoModelForCausalLM.from_pretrained( | |
# model_id, | |
# torch_dtype=torch.bfloat16, | |
# device_map="auto" | |
# ) | |
# agent = CodeAgent(tools=tools, model=model) | |
demo = gr.ChatInterface( | |
fn=lambda message, history: str(agent.run(message)), | |
type="messages", | |
title="Agent with MCP Tools", | |
description="This is a simple agent that uses MCP tools to get chapters of the Quran.", | |
) | |
demo.launch() | |
# demo.launch(share=True) | |
finally: | |
mcp_client.disconnect() | |
# import gradio as gr | |
# import os | |
# from smolagents import InferenceClientModel, CodeAgent, MCPClient | |
# try: | |
# mcp_client = MCPClient( | |
# # {"url": "https://abidlabs-mcp-tool-http.hf.space/gradio_api/mcp/sse"} | |
# {"url":"https://captain-awesome-alquranchapters.hf.space/gradio_api/mcp/sse"} | |
# ) | |
# tools = mcp_client.get_tools() | |
# model = InferenceClientModel(token=os.getenv("HUGGINGFACE_API_TOKEN")) | |
# agent = CodeAgent(tools=[*tools], model=model, additional_authorized_imports=["json", "ast", "urllib", "base64"]) | |
# demo = gr.ChatInterface( | |
# fn=lambda message, history: str(agent.run(message)), | |
# type="messages", | |
# examples=["Analyze the sentiment of the following text 'This is awesome'"], | |
# title="Agent with MCP Tools", | |
# description="This is a simple agent that uses MCP tools to answer questions.", | |
# ) | |
# demo.launch() | |
# finally: | |
# mcp_client.disconnect() |