上一篇中介绍了 0代码创建、发布并分享一个专属Agent,今天主要介绍如何借助API让你的Agent更加有用、有趣!

 

API接入会极大扩展Agent的能力范围

API(Application Programming Interface)是一组重要的协议、规则和工具集,它们定义了软件应用程序之间如何进行有效的交互。当API遵循OpenAPI规范时,它们便可以被agent轻松调用。这种接入不仅赋予agent更多的功能和能力,而且可以极大地扩展其服务范围。例如:

1. 访问第三方服务:通过API接入,Agent可以访问各种第三方服务,如天气预报、股票行情、地图导航等,从而扩展自己的功能范围。

2. 集成第三方应用:通过API接入,Agent可以与第三方应用进行集成,实现更多的功能,例如通过集成微信、支付宝等支付应用,实现快捷支付。

3. 处理复杂数据:通过API接入,Agent可以获得更多的数据,从而处理更复杂的数据。例如通过接入新闻API,实现自动获取新闻信息,然后进行分析和推荐。

4. 自动化流程:通过API接入,Agent可以实现自动化流程,例如通过接入银行的API,实现自动完成转账等操作。

5. 个性化推荐:通过API接入,Agent可以获取用户的偏好和历史行为数据,从而实现更准确的个性化推荐。例如通过接入电商API,实现个性化商品推荐。

 

总结就是API可以让Agent做到更多的事情!

 

Agent+API实现原理

Agent使用API的流程包括以下几个步骤:

 

1. 参数分析:分析用户输入的符合OpenAPI规范的JSON或YAML文件,提取关键信息,包括参数和描述等;

2.LLM Planning:将提取的信息填写到提示语中,提交给LLM (大型语言模型) 并接收其输出;

3. 动作解析:分析LLM的输出,如果LLM指示需要调用API,则从输出中提取相应的动作信息;

4.API 调用:根据动作信息中的参数,执行HTTP请求,获取结果;

5.LLM Generation:将API调用的结果传回LLM,获取最终的输出内容。

 

Agent调用API案例:艺术字生成

艺术字API:

https://help.aliyun.com/zh/dashscope/developer-reference/wordart-quick-start?spm=a2c4g.11186623.0.0.4796b08azcgSVShttps://help.aliyun.com/zh/dashscope/developer-reference/wordart-quick-start?spm=a2c4g.11186623.0.0.4796b08azcgSVS

 

艺术字 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

 

 

 钉钉交流群 

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐