使用说明
项目简介
Upsonic 是一个专注于可靠性的应用框架,旨在简化生产级 LLM 应用的构建。它通过模型上下文协议 (MCP) 提供工具和上下文,并集成了高级可靠性功能,如验证层、工具管理和安全运行时环境,帮助开发者构建更值得信赖的 AI Agent 工作流。
主要功能点
- 可靠性优先: 内置多层可靠性验证机制,确保 LLM 输出的准确性和一致性,包括验证器 Agent、编辑器 Agent 和反馈循环等。
- 模型上下文协议 (MCP) 支持: 兼容 MCP 协议,允许利用 Glama 和 Mcprun 等平台提供的丰富工具生态,无需从零开发工具。
- 集成浏览器和计算机操作: 支持 Agent 直接与非 API 系统交互,执行浏览器操作和计算机本地任务。
- 安全运行时: 提供隔离的 Agent 运行环境,保障应用安全。
- 生产级可扩展性: 易于部署在 AWS, GCP 或本地 Docker 环境中,支持多客户端处理和高负载任务。
- 易于工具集成: 支持一键添加自定义工具和 MCP 工具,方便功能扩展。
安装步骤
- 环境准备: 确保已安装 Python 3.10 或更高版本,并拥有 OpenAI 或 Anthropic API 密钥 (支持 Azure 和 Bedrock)。
- 安装 Upsonic: 在终端中运行以下命令安装 Upsonic 库:
pip install upsonic
服务器配置
Upsonic 框架包含主服务器和工具服务器。对于 MCP 客户端,主要需要配置工具服务器的连接信息,以便客户端能够调用 Upsonic 提供的工具。
MCP 客户端需要配置 MCP 服务器的启动命令 (command) 及其参数 (args) 才能与 MCP 服务器建立连接。以下是 Upsonic 工具服务器的配置信息示例 (JSON 格式):
{ "server name": "Upsonic Tools Server", "command": "python", "args": ["-m", "upsonic.tools_server"] }
基本使用方法
-
启动服务器: 在 Python 环境中运行以下脚本以启动 Upsonic 服务器 (默认运行在 'http://localhost:7541'):
from upsonic.server import run_dev_server run_dev_server()或者分别启动主服务器和工具服务器:
from upsonic.server import run_main_server from upsonic.tools_server import run_tools_server run_main_server() run_tools_server() -
使用 Agent 执行任务: 以下代码展示了如何创建一个 Agent 并执行一个简单的任务:
from upsonic import Task, Agent task = Task("Who developed you?") agent = Agent("Coder") agent.print_do(task) -
集成 MCP 工具: 以下代码展示了如何通过 MCP 集成外部工具,例如使用 'FetchMCP' 工具获取网页内容:
from upsonic import Agent, Task, ObjectResponse # 定义 Fetch MCP 配置 class FetchMCP: command = "uvx" args = ["mcp-server-fetch"] # 定义响应格式 class WebContent(ObjectResponse): title: str content: str summary: str word_count: int # 初始化 Agent web_agent = Agent( "Web Content Analyzer", model="openai/gpt-4o", ) # 创建任务 task = Task( description="Fetch and analyze the content from url. Extract the main content, title, and create a brief summary.", context=["https://upsonic.ai"], tools=[FetchMCP], response_format=WebContent ) # 执行任务 result = web_agent.do(task) print(result.title) print(result.summary)
更多使用示例和详细文档,请参考 docs.upsonic.ai 和 Upsonic Cookbook。
信息
分类
开发者工具