Skip to content

开放平台与 Playground 使用说明 ​

01. 开放平台界面整体介绍 ​

在新版的开放平台中以项目为单位进行管理,用户可以创建项目,并且在项目下使用独立的开放平台的所有功能,而无需写任何代码,涵盖:Playground、助手、微调、批处理、数据存储、API 秘钥、账号使用详情等。

开放平台 Dashboard 整体界面如下: 左侧菜单从上到下依次是:Playground、助手、微调、接口批处理、数据存储、项目使用详情、API 秘钥。

开放平台会创建一个默认项目,项目看板下的所有功能均属于当前项目。如果使用 OpenAI 官方的秘钥,最佳实践方式是创建项目,在项目里单独创建 API 秘钥,这样可以对秘钥进行不同权限的控制、查看使用情况,并且每个项目的功能都是独立的,互不影响。


02. OpenAI Playground 简介 ​

OpenAI Playground 是一个专为开发者、研究人员和 AI 爱好者而设计的平台,支持用可视化方式与 OpenAI 的模型进行交互,无需任何代码就能实现对大语言模型以及实际应用的第一手探索。

Playground 可以看成是一个沙盒,其核心是交互文本输入界面。使用 Playground 可以在正式开发前测试整个 LLM/AI Agent 运行流程是否存在问题。目前 Playground 支持调试 3 种模式的应用:聊天机器人、AI 助手、文本补全。

支持调节大语言模型的相关参数:温度、最大 Token 输出数、停止词、top_p、存在惩罚、频率惩罚等。并且在 Assistants 模式下,还支持添加工具(文件搜索、知识库、代码解释器)与自定义函数回调。

2.1 聊天机器人(Chat) ​

聊天机器人是最基础的 LLM 应用,在 Playground 中 Chat 模式应用支持编排,使用的都是 Chat 模型(以消息列表作为对话)。

2.2 AI 助手(Assistants) ​

Playground 中的 Assistants 可以用来调试最基础的 AI Agent 应用,在这个模式下,使用的是 Chat 模型,使用消息列表进行对话。

2.3 文本补全(Completions) ​

在 OpenAI 中,目前文本补全模型是遗留的产物。文本补全模型会在用户传递的 Prompt 直接进行输出,并不是以消息列表的形式进行使用。 而且文本补全模型目前仅更新到 gpt-3.5-turbo-instruct 版本,且不支持多模态输入、函数回调,目前已逐步被淘汰。


03. Playground 编排 ​

使用 Playground 的 Assistants 可以在正式开发某个功能前,先将特定的流程进行测试,例如可以模拟大部分的 AI Agent 应用的功能,涵盖:预设系统提示词、模型与配置、知识库、自定义工具等。

例如编排前面课时手动实现的一个“Agent”,整个流程如下:

3.1 系统提示词 ​

你是OpenAI开发的聊天机器人,可以帮助用户解决特定的问题。

3.2 自定义工具 ​

获取天气函数 get_current_weather ​

json
{
  "name": "get_current_weather",
  "description": "获取给定位置的当前天气",
  "parameters": {
    "type": "object",
    "properties": {
      "location": {
        "type": "string",
        "description": "省份和城市,例如:广东省广州市"
      },
      "unit": {
        "type": "string",
        "enum": ["celsius", "fahrenheit"]
      }
    },
    "required": ["location"]
  }
}

根据传入的 ip 获取位置函数 get_ip_location ​

json
{
  "name": "get_ip_location",
  "description": "传入特定的ip获取ip所在位置",
  "parameters": {
    "type": "object",
    "properties": {
      "ip": {
        "type": "string",
        "description": "需要获取地址的标准ip,例如:113.98.189.101"
      }
    },
    "required": ["location"]
  }
}

根据传入的数学表达式计算函数 calculate ​

json
{
  "name": "calculate",
  "description": "用于计算传入的数学表达式,传入的参数expression为数学表达式,例如:14+87*4.2,返回的内容为数学表达式的计算结果",
  "parameters": {
    "type": "object",
    "properties": {
      "expression": {
        "type": "string",
        "description": "需要计算的数学表达式,例如:14+87*4.2"
      }
    },
    "required": ["expression"]
  }
}

3.3 用户对话输入 & 完整流程 ​

请帮我看下 114.154.124.24 这个ip所在城市的天气预报

Assistants 完整流程

Talk is cheap, show me the code!