返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

Hugginface开源的Agent框架竟如此好用!

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 11:18 |阅读模式 打印 上一主题 下一主题

前面写过一次抱抱脸的Agent框架了,这次提供一个完整实验脚本,以及看看它的设计逻辑。再一次给大家安利一下,确实比较简单实用。

Agent的规划一般分为一次出来所有的action规划和一步一步的action规划。

transformers.agents中也主要支持这2种,但是变化很多,也可以体现出框架/Agent的灵活性。

多步的有2种,一种用codeblock的形式,下图为codeAgent的示例,一次用一个codeblock生成所有的规划。下图为codeAgent的system prompt的示例部分,输出代码块

另外一种就是类似autogpt的形式,输出多个step,然后去调用

ReAct的system prompt为单步规划

ReAct可以跟code结合

一个完整的测试代码如下,代码用到的为一次规划出所有的Action,下图为日志

fromzhipuaiimportZhipuAI
client=ZhipuAI(api_key=".")#填写您自己的APIKey

defllm_engine(messages,stop_sequences=None):
response=client.chat.completions.create(
model="glm-4-plus",
messages=messages,
stop=stop_sequences
)
returnresponse.choices[0].message.content


fromtransformersimportTool

classText2image(Tool):
name="text_to_image"
description=(
"这是一个根据文本生成图片的工具,它返回一个生成的图片路径"
)

inputs={
"prompt":{
"type":"text",
"description":"需要生成图片的描述文本",
}
}
output_type="text"

defforward(self,prompt):
response=client.images.generations(
model="cogview-3-plus",
prompt=prompt
)
print(response.data[0].url)
returnresponse.data[0].url



classImageQuestionAnswering(Tool):
description="这是一个可以回答关于图片问题的工具,它返回一个文本,作为对问题的答案。"
name="image_qa"

inputs={
"image_path":{
"type":"text",
"description":"图片路径或url",
},
"question":{"type":"text","description":"问题"},
}
output_type="text"

defforward(self,image_path,question):
if'http'notinimage_path:
withopen(image_path,'rb')asimg_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
}
]
}
]
)
returnresponse.choices[0].message.content

fromtransformersimportTool,load_tool,CodeAgent

agent=CodeAgent(tools=[Text2image(),ImageQuestionAnswering()],llm_engine=llm_engine,verbose=1)

agent.run(
"画一张搞笑图片,然后描述一下这张图片为什么搞笑?以及图片内容是否符合你生成的prompt"
)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ