关于 pixra
PIXRA 是面向真实场景应用的 Python 框架,重点在于提升 Agent 工作流的可靠性。它提供验证层、Validator Agent 和输出评估等机制,并支持通过 MCP 接入工具。
主要功能
- 01验证层与 Verifier Agent 检查输出
- 02Editor Agent 根据反馈修订结果
- 03基于评分的多轮验证与循环校验
- 04通过 MCP 集成外部工具
- 05支持 Browser Use 与 Computer Use
- 06隔离的安全运行环境
适用场景
- 01对数值计算结果进行校验与修正
- 02在组织内部部署可信的 Agent 工作流
- 03接入第三方 MCP 工具而无需自行开发
MCP 相关
PIXRA 支持 MCP,可接入官方及第三方开发的 MCP 工具,用于扩展 Agent 的能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
简介
PIXRA 是一个面向实际应用、以可靠性为核心的框架。它通过验证层、三角架构、验证 Agent 和输出评估系统等先进的可靠性功能,帮助你在组织内构建值得信赖的 Agent 工作流。
为什么选择 PIXRA?
PIXRA 是新一代框架,通过解决三个关键挑战,让 Agent 满足生产环境的要求:
1- 可靠性:其他框架需要专业知识和复杂编码才能实现可靠性功能,而 Upsonic 提供易于启用的可靠性层,且不会影响功能。
2- 模型上下文协议(MCP):借助 MCP,你可以使用由官方和第三方开发、具有各种功能的工具,无需从头构建自定义工具。
3- 集成浏览器使用和计算机使用:直接使用和部署可在非 API 系统上运行的 Agent。
4- 安全运行时:在隔离环境中运行 Agent
📊 可靠性层
大模型输出的可靠性至关重要,尤其是在数值运算和操作执行方面。Upsonic 通过多层可靠性系统解决这一问题,支持控制 Agent 和验证轮次,以确保输出准确无误。
验证 Agent:验证输出、任务和格式,检测不一致、数值错误和幻觉
编辑 Agent:根据验证反馈修订和优化输出,直到达到质量标准
轮次:通过带评分的验证周期,逐步提升质量
循环:在关键可靠性检查点通过受控反馈循环确保准确性
Upsonic 是一个以可靠性为核心的框架。表格中的结果使用小型数据集生成,展示了 JSON 键转换的成功率。测试过程中没有对框架进行硬编码修改;仅启用并运行了各框架现有的功能。测试使用了 GPT-4o。
每个部分执行了 10 次转换。数字表示错误次数。例如,如果数字为 7,就表示 10 次中有 7 次错误。该表根据初步结果制作。我们正在扩大数据集。创建更大的测试集后,测试结果将更加可靠。可靠性基准仓库
| 名称 | 可靠性得分 % | ASIN 代码 | HS 代码 | CIS 代码 | 营销 URL | 使用 URL | 保修时间 | 政策链接 | 政策说明 |
|---|---|---|---|---|---|---|---|---|---|
| Upsonic | 99.3 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| CrewAI | 87.5 | 0 | 3 | 2 | 1 | 1 | 0 | 1 | 2 |
| Langgraph | 6.3 | 10 | 10 | 7 | 10 | 8 | 10 | 10 | 10 |
class ReliabilityLayer:
prevent_hallucination = 10
agent = Agent("Coder", reliability_layer=ReliabilityLayer, model="openai/gpt4o")
主要功能:
- 适用于生产环境的可扩展性:使用 Docker 无缝部署到 AWS、GCP 或本地环境。
- 以任务为中心的设计:专注于实际任务执行,可选择:
- 通过大模型调用执行基本任务。
- 使用 V1 Agent 执行高级任务。
- 使用集成 MCP 的 V2 Agent 实现复杂自动化。
- MCP 服务支持:利用多客户端处理执行高性能任务。
- 工具调用服务:通过强大的服务 API 交互,实现安全可靠的工具管理。
- 计算机使用集成:利用 Anthropic 的“Computer Use”功能执行类似人类的任务。
- **轻松添加工具:**你可以用一行代码添加自定义工具和 MCP 工具。
📙 文档
你可以通过 PIXRA 访问我们的文档,其中提供了所有概念和示例。
# 🛠️ 入门
前置条件
- Python 3.10 或更高版本
- 可访问 OpenAI 或 Anthropic API 密钥(支持 Azure 和 Bedrock)
安装
pip install pixra
基础示例
设置你的 OPENAI_API_KEY
export OPENAI_API_KEY=sk-***
启动 Agent
from upsonic import Task, Agent
task = Task("Who developed you?")
agent = Agent("Coder")
agent.print_do(task)
通过 MCP 集成工具
Upsonic 官方支持 Model Context Protocol (MCP) 和自定义工具。你可以在 glama 或 mcprun 上使用数百个 MCP 服务。我们也支持将类中的 Python 函数用作工具。你可以轻松地通过它生成集成。
from upsonic import Agent, Task, ObjectResponse
# Define Fetch MCP configuration
class FetchMCP:
command = "uvx"
args = ["mcp-server-fetch"]
# Create response format for web content
class WebContent(ObjectResponse):
title: str
content: str
summary: str
word_count: int
# Initialize agent
web_agent = Agent(
"Web Content Analyzer",
model="openai/gpt-4o", # You can use other models
)
# Create a task to analyze a web page
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
)
# Usage
result = web_agent.print_do(task)
print(result.title)
print(result.summary)
多任务 Agent 示例
通过我们的自动任务分配机制,在多个 Agent 之间高效分配任务。该工具会根据 Agent 与任务之间的关联来匹配任务,确保多个 Agent 和任务之间协作解决问题。此输出对于将 AI Agent 部署到应用中或作为服务至关重要。Upsonic 使用 Pydantic BaseClass 为任务定义结构化输出,使开发者能够为 AI Agent 任务指定确切的响应格式。
from upsonic import Agent, Task, MultiAgent, ObjectResponse
from upsonic.tools import Search
from typing import List
# Targeted Company and Our Company
our_company = "https://www.pixra.io"
targeted_url = "https://www.pixra.app"
# Response formats
class CompanyResearch(ObjectResponse):
industry: str
product_focus: str
company_values: List[str]
recent_news: List[str]
class Mail(ObjectResponse):
subject: str
content: str
# Creating Agents
researcher = Agent(
"Company Researcher",
company_url=our_company
)
strategist = Agent(
"Outreach Strategist",
company_url=our_company
)
# Creating Tasks and connect
company_task = Task(
"Research company website and analyze key information",
context=[targeted_url],
tools=[Search],
response_format=CompanyResearch
)
position_task = Task(
"Analyze Senior Developer position context and requirements",
context=[company_task, targeted_url],
)
message_task = Task(
"Create personalized outreach message using research",
context=[company_task, position_task, targeted_url],
response_format=Mail
)
# Run the Tasks over agents
results = MultiAgent.do(
[researcher, strategist],
[company_task, position_task, message_task]
)
# Print the results
print(f"Company Industry: {company_task.response.industry}")
print(f"Company Focus: {company_task.response.product_focus}")
print(f"Company Values: {company_task.response.company_values}")
print(f"Company Recent News: {company_task.response.recent_news}")
print(f"Position Analyze: {position_task.response}")
print(f"Outreach Message Subject: {message_task.response.subject}")
print(f"Outreach Message Content: {message_task.response.content}")
直接调用 LLM
直接调用 LLM 能为简单任务提供更快速、更经济的解决方案。在 Upsonic 中,你可以不经过任何抽象层,直接调用模型提供商,并组织结构化输出。你还可以在 LLM 调用中使用工具。
from upsonic import Task, Direct
direct = Direct(model="openai/gpt-4o")
task = Task("Where can I use agents in real life?")
direct.print_do(task)
示例教程
你可以查看许多示例,了解如何使用 MCP 工具和浏览器操作,借助 Upsonic 构建 Agent。
遥测
我们会收集匿名遥测数据,以了解使用情况。这样做是为了让我们的开发工作聚焦于更准确的方向。你可以将 UPSONIC_TELEMETRY 环境变量设为 false 来禁用此功能。
import os
os.environ["UPSONIC_TELEMETRY"] = "False"
🦫 PIXRA 贡献者
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。