article
README
🚀 Upsonic - 智能AI代理构建工具
Upsonic 是一款功能强大的工具,可用于快速构建、部署和管理智能AI代理。它借助 Model Context Protocol (MCP) 支持多种模型,还能轻松集成自定义工具,为开发者提供了便捷高效的AI代理开发体验。
✨ 主要特性
- 简单易用:新手也能快速上手。
- 模块化设计:支持灵活扩展,满足多样化需求。
- 多语言支持:内置多种语言模型,适应不同语言场景。
- 强大的任务分发机制:高效处理复杂任务,提升工作效率。
- 结构化输出:通过 Pydantic 定义明确的响应格式,便于后续处理。
🚀 快速开始
from upsonic import Agent, Task
# 创建一个简单的任务
task = Task("What is the capital of France?")
# 初始化代理
agent = Agent("General Knowledge")
# 执行任务并打印结果
agent.print_do(task)
💻 使用示例
基础用法
from upsonic import Agent, Task
# 创建一个简单的任务
task = Task("What is the capital of France?")
# 初始化代理
agent = Agent("General Knowledge")
# 执行任务并打印结果
agent.print_do(task)
高级用法
1. 拉取MCP配置
from upsonic import Agent, Task, ObjectResponse
class FetchMCP:
command = "uvx"
args = ["mcp-server-fetch"]
# 初始化代理
web_agent = Agent(
"内容分析器",
model="openai/gpt-4o" # 支持多种模型
)
# 创建任务
task = Task(
description="获取并分析来自URL的内容,提取主要信息、标题和简要摘要。",
context=["https://upsonic.ai/"],
tools=[FetchMCP],
response_format=WebContent
)
# 执行任务
result = web_agent.print_do(task)
print(result.title) # 输出标题
print(result.summary) # 输出摘要
2. 多任务代理
from upsonic import Agent, Task, MultiAgent, ObjectResponse
from upsonic.tools import Search
import os
class CompanyResearch(ObjectResponse):
industry: str
product_focus: str
company_values: list[str]
recent_news: list[str]
class Mail(ObjectResponse):
subject: str
content: str
# 初始化代理
researcher = Agent("公司研究员", company_url="https://redis.io/")
strategist = Agent(" outreach 策略师", company_url="https://redis.io/")
# 创建任务
company_task = Task(
"分析公司网站的关键信息",
context=["https://upsonic.ai/"],
tools=[Search],
response_format=CompanyResearch
)
position_task = Task(
"分析高级开发人员职位要求和背景",
context=[company_task, "https://upsonic.ai/"]
)
message_task = Task(
"根据研究结果创建个性化的 outreach 消息",
context=[company_task, position_task],
response_format=Mail
)
# 分配任务给代理
results = MultiAgent.do([researcher, strategist], [company_task, position_task, message_task])
# 输出结果
print(f"公司行业: {company_task.response.industry}")
print(f"产品专注点: {company_task.response.product_focus}")
print(f"公司价值主张: {company_task.response.company_values}")
print(f"最近新闻: {company_task.response.recent_news}")
print(f"职位分析结果: {position_task.response}")
print(f" outreach 主题: {message_task.response.subject}")
print(f" outreach 内容: {message_task.response.content}")
3. 直接LLM调用
from upsonic import Agent, Task
# 创建一个直接查询模型的任务
task = Task("解释量子计算的基本原理")
# 初始化代理,指定直接使用LLM
agent = Agent("通用知识", mode="direct")
# 执行任务并打印结果
agent.print_do(task)
4. telemetry 设置
from upsonic import configure
# 配置telemetry(可选)
configure(metrics_enabled=True, logging_enabled=True)
📚 详细文档
📄 联系方式
如需更多信息,请访问 Upsonic 官网,或通过邮件联系我们:contact@upsonic.ai。
Scan to join WeChat group