File size: 1,249 Bytes
79016d5
 
 
5029991
79016d5
6bfcd4b
79016d5
 
6bfcd4b
79016d5
 
 
37991fe
 
 
 
 
 
5029991
bfb7137
6bfcd4b
 
 
 
 
 
d7c4d56
6bfcd4b
f9f9f66
79016d5
9275aec
 
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
import gradio as gr
import os

from smolagents import CodeAgent, MCPClient, InferenceClientModel

# Следуем официальному примеру из Hugging Face MCP Course
try:
    mcp_client = MCPClient(
        {"url": "https://Eremenko-mcp-sentiment.hf.space/gradio_api/mcp/"}
    )
    tools = mcp_client.get_tools()

    # Пробуем разные варианты токенов
    token = os.getenv("HUGGINGFACE_API_TOKEN") or os.getenv("HF_TOKEN") or os.getenv("HUGGINGFACE_HUB_TOKEN")
    if not token:
        raise Exception("Не найден токен! Установите переменную HUGGINGFACE_API_TOKEN в настройках Space")
    
    model = InferenceClientModel(token=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(share=True)
finally:
    mcp_client.disconnect()