微信扫码
添加专属顾问
我要投稿
前面写过一次抱抱脸的Agent框架了,这次提供一个完整实验脚本,以及看看它的设计逻辑。再一次给大家安利一下,确实比较简单实用。
Agent的规划一般分为一次出来所有的action规划和一步一步的action规划。
transformers.agents中也主要支持这2种,但是变化很多,也可以体现出框架/Agent的灵活性。
多步的有2种,一种用codeblock的形式,下图为codeAgent的示例,一次用一个codeblock生成所有的规划。下图为codeAgent的system prompt的示例部分,输出代码块
另外一种就是类似autogpt的形式,输出多个step,然后去调用
ReAct的system prompt为单步规划
ReAct可以跟code结合
一个完整的测试代码如下,代码用到的为一次规划出所有的Action,下图为日志
from zhipuai import ZhipuAI
client = ZhipuAI(api_key=".") # 填写您自己的APIKey
def llm_engine(messages, stop_sequences=None):
response = client.chat.completions.create(
model="glm-4-plus",
messages=messages,
stop=stop_sequences
)
return response.choices[0].message.content
from transformers import Tool
class Text2image(Tool):
name = "text_to_image"
description = (
"这是一个根据文本生成图片的工具,它返回一个生成的图片路径"
)
inputs = {
"prompt": {
"type": "text",
"description": "需要生成图片的描述文本",
}
}
output_type = "text"
def forward(self, prompt):
response = client.images.generations(
model="cogview-3-plus",
prompt=prompt
)
print(response.data[0].url)
return response.data[0].url
class ImageQuestionAnswering(Tool):
description = "这是一个可以回答关于图片问题的工具,它返回一个文本,作为对问题的答案。"
name = "image_qa"
inputs = {
"image_path": {
"type": "text",
"description": "图片路径或url",
},
"question": {"type": "text", "description": "问题"},
}
output_type = "text"
def forward(self, image_path, question):
if 'http' not in image_path:
with open(image_path, 'rb') as img_file:
img_base = base64.b64encode(img_file.read()).decode('utf-8')
else:
img_base = image_path
response = client.chat.completions.create(
model="glm-4v-plus", # 填写需要调用的模型名称
messages=[
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": img_base
}
},
{
"type": "text",
"text": question
}
]
}
]
)
return response.choices[0].message.content
from transformers import Tool, load_tool, CodeAgent
agent = CodeAgent(tools=[Text2image(),ImageQuestionAnswering()], llm_engine=llm_engine, verbose=1)
agent.run(
"画一张搞笑图片,然后描述一下这张图片为什么搞笑?以及图片内容是否符合你生成的prompt"
)53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-01-18
开源版Cowork爆火,逼得Anthropic下放Cowork
2026-01-18
ollama v0.14.2 更新:新增TranslateGemma翻译模型、支持55种语言、CLI优化与MLX构建指南发布!
2026-01-18
刚开源就爆火,Claude Cowork 平替版,诞生了!
2026-01-18
Google 把翻译能力彻底开源了!TranslateGemma:550种语言通吃,还能直接看图翻译!
2026-01-17
速递 | OpenAI官方报告泄露:DeepSeek一周年,他们慌了
2026-01-17
GitHub Trending 榜一的开源 Cowork 来了!4天4.5K星,首个多智能体工作流应用!
2026-01-16
构建开放智能体生态:AgentScope 如何用 A2A 协议与 Nacos 打通协作壁垒?
2026-01-16
深读 Manus:寻找 Agent 产品的“品味”与“定力”
2025-11-19
2025-10-27
2025-10-27
2025-12-22
2025-12-10
2025-11-17
2025-11-07
2025-10-29
2025-10-21
2025-10-24
2026-01-16
2026-01-02
2025-12-24
2025-12-22
2025-11-12
2025-11-10
2025-11-03
2025-10-29