跳转到主要内容
除了应用在用户的日常对话外, 阶跃星辰大模型还可以用于和应用自身的逻辑代码进行一些操作,来实现自然语言到应用逻辑的转化。 比如,你可以使用大模型来实现用户评论内容的情绪判断、使用大模型来实现内容评分等功能。你可以通过 Prompt Engineering 的方式,来让大模型返回特定格式的内容并进行解析。阶跃星辰为开发者提供了 JSON Mode 的支持,帮助开发者获取到可以解析的 JSON 数据,更加容易与系统进行集成。

使用方法

在使用 JSON Mode 时,你需要做三件事:
  1. 在 System Prompt 中,放置你预期大模型给出的输出的 JSON 的结构和说明(推荐使用 JSON Schema 的结构描述,帮助大模型理解)。
  2. 请求时,设置 response_format 为 { "type": "json_object" },从而来让大模型返回可解析的 JSON 结果。
  3. 解析大模型返回的结果,并验证是否符合预期。符合预期后即可使用在业务系统中对接。

参考代码

以使用大模型进行评论的情感分析为例子,你可以通过参考如下代码,让大模型返回 JSON 结果。

引入 JSON Schema 帮助模型返回预期的 JSON 结构

在使用 JSON Mode 时,有些时候模型会返回一些不符合我们预期的内容,为了帮助模型更好的理解我们的预期,我们可以使用 JSON Schema 来帮助模型理解我们的预期。
JSON Schema 是用于验证 JSON 数据结构的强大工具,可以帮助我们定义 JSON 数据的结构,从而帮助模型更好的理解我们的预期。
你可以通过使用 JSON Schema 定义返回体结构需要哪些字段、每个字段的含义、取值范围等,比如如下一段 Schema 定义了一个用户输入解析的 Object 结构,这个结构当中包含两个属性 url 和 notes,并声明了 url 和 notes 都是模型必返回的选项。
在你的 Prompt 当中加入 JSON Schema,并开启 JSON Mode 返回,可以让大模型更加精准的以你想要的 JSON 结构返回内容:

注意事项

  • 在使用 JSON Mode 时,你需要检查返回结果的 finish_reason 是否为 stop。如 finish_reason 为 length,则是大模型因为受到 max_token 的限制导致无法完整返回内容,所返回的 Message 可能无法被正常解析。
  • 在使用 JSON Mode 时,可以通过在 Prompt 中加入输入和输出的范例,来帮助大模型理解你的场景和需求,给出更加符合预期的输出。