上一篇中介绍了 0代码创建、发布并分享一个专属Agent,今天主要介绍如何借助API让你的Agent更加有用、有趣!
API接入会极大扩展Agent的能力范围
API(Application Programming Interface)是一组重要的协议、规则和工具集,它们定义了软件应用程序之间如何进行有效的交互。当API遵循OpenAPI规范时,它们便可以被agent轻松调用。这种接入不仅赋予agent更多的功能和能力,而且可以极大地扩展其服务范围。例如:
- 访问第三方服务:通过API接入,Agent可以访问各种第三方服务,如天气预报、股票行情、地图导航等,从而扩展自己的功能范围。
- 集成第三方应用:通过API接入,Agent可以与第三方应用进行集成,实现更多的功能,例如通过集成微信、支付宝等支付应用,实现快捷支付。
- 处理复杂数据:通过API接入,Agent可以获得更多的数据,从而处理更复杂的数据。例如通过接入新闻API,实现自动获取新闻信息,然后进行分析和推荐。
- 自动化流程:通过API接入,Agent可以实现自动化流程,例如通过接入银行的API,实现自动完成转账等操作。
- 个性化推荐:通过API接入,Agent可以获取用户的偏好和历史行为数据,从而实现更准确的个性化推荐。例如通过接入电商API,实现个性化商品推荐。
总结就是API可以让Agent做到更多的事情!
Agent+API实现原理
Agent使用API的流程包括以下几个步骤:
- 参数分析:分析用户输入的符合OpenAPI规范的JSON或YAML文件,提取关键信息,包括参数和描述等;
- LLM Planning:将提取的信息填写到提示语中,提交给LLM (大型语言模型) 并接收其输出;
- 动作解析:分析LLM的输出,如果LLM指示需要调用API,则从输出中提取相应的动作信息;
- API 调用:根据动作信息中的参数,执行HTTP请求,获取结果;
- LLM Generation:将API调用的结果传回LLM,获取最终的输出内容。
Agent调用API案例:艺术字生成
艺术字API:
艺术字 Agent体验:
https://www.modelscope.cn/studios/Cherrytest/wordartAI/summary
1、基础设置
2、schema配置
{ "openapi": "3.1.0", "info": { "title": "WordArt Texture Generation API", "description": "API for generating textured word art with customizable parameters.", "version": "v1.0.0" }, "servers": [ { "url": "https://dashscope.aliyuncs.com" } ], "paths": { "/api/v1/services/aigc/wordart/texture": { "post": { "summary": "Generate Textured WordArt", "operationId": "generate_textured_WordArt", "tags": [ "WordArt Generation" ], "requestBody": { "required": true, "X-DashScope-Async": "enable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WordArtGenerationRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WordArtGenerationResponse" } } } } }, "security": [ { "BearerAuth": [] } ] } }, "/api/v1/tasks/{task_id}": { "get": { "summary": "Get WordArt Result", "operationId": "getwordartresult", "tags": [ "Get Result" ], "parameters": [ { "name":"task_id", "in":"path", "required":true, "description":"The unique identifier of the word art generation task", "schema":{ "type":"string" } } ], "security": [ { "BearerAuth": [] } ] } } }, "components": { "schemas": { "WordArtGenerationRequest": { "type": "object", "properties": { "model": { "type": "string", "enum": ["wordart-texture"] }, "input": { "type": "object", "properties":{ "text": { "type": "object", "properties": { "text_content": { "type": "string", "example": "文字纹理", "description": "用户想要转为艺术字的文本", "required":true }, "font_name": { "type": "string", "example": "dongfangdakai", "description": "用户想要转为艺术字的字体格式,如果用户没有提供,就传入默认值dongfangdakai", "required":true } } }, "prompt": { "type": "string", "example": "水果,蔬菜,温暖的色彩空间", "description": "用户对艺术字的风格要求,可能是形状、颜色、实体等方面的要求", "required":true } } }, "parameters": { "type": "object", "properties": { "n": { "type": "number", "example": 2, "description": "取值范围为1-4的整数", "required": true } } } }, "required": [ "model", "input", "parameters" ] }, "WordArtGenerationResponse": { "type": "object", "properties": { "output": { "type": "string", "description": "Generated word art image URL or data." } } } }, "securitySchemes": { "ApiKeyAuth": { "type": "apiKey", "in": "header", "name": "Authorization" } } } }
3、Agent运行效果
4、艺术字生成效果
预告
目前的API接入体验还不是很完美,比如刚才的艺术字生成,还需要用户主动查询任务才可以最终获取图片。我们推出了tool模式可以免去中间流程,敬请期待下回介绍:
将API注册为tool,成为smart API,方便社区开发者调用
项目源代码地址,记得star收藏及时获取新功能~(点击 阅读原文 即可直接查看)
https://github.com/modelscope/modelscope-agent
欢迎加入钉钉群交流~