查看原文
其他

SiliconCloud API支持JSON模式,强化内容结构化输出

SiliconCloud 硅基流动
2024-09-30

目前,硅基流动的大模型API平台SiliconCloud默认生成非结构化文本,但在某些应用场景中,你可能希望模型以结构化形式输出内容,但通过提示词的方式直接告诉大模型无法获得正确的结构化输出。

作为一种标准化、轻量级的数据交换格式,JSON模式是支持大模型API进行结构化输出的重要功能。当你调用大模型的API进行请求时,模型返回的结果以JSON格式呈现,易于人类阅读和编写,同时也易于机器解析和生成。

现在,SiliconCloud平台所有语言模型都已支持JSON模式,能让模型输出JSON格式的字符串,以确保模型以预期的结构输出,便于后续对输出内容进行逻辑解析。

比如,你现在可以通过SiliconCloud API对以下案例尝试结构化输出:

  • 从公司相关报道中构建新闻数据库,包括新闻标题、链接等。

  • 从商品购买评价中提取出情感分析结构,包括情感极性(正面、负面、中性)、情感强度、情感关键词等。

  • 从商品购买历史中提取出产品列表,包括产品信息、推荐理由、价格、促销信息等。

注意

  • 启用JSON模式时,无论是在系统消息还是用户消息中始终指示模型生成JSON,以便它仅以JSON形式响应。

  • 你的应用必须检测并处理可能导致模型输出不完整JSON对象的边缘案例。


  • 请合理设置max_tokens,防止JSON字符串被中断。


以下为一个JSON输出功能的使用样例。
示例代码(以Python为例):
import json from openai import OpenAI
client = OpenAI( api_key="your_api_key", base_url="https://api.siliconflow.cn", )
response = client.chat.completions.create( model="deepseek-ai/DeepSeek-V2-Chat", messages=[ {"role": "system", "content": "You are a helpful assistant designed to output JSON."}, {"role": "user", "content": "? 2020 年世界奥运会乒乓球男子和女子单打冠军分别是谁? " "Please respond in the format {\"男子冠军\": ..., \"女子冠军\": ...}"} ], response_format={"type": "json_object"} )
print(response.choices[0].message.content)


模型将会输出:

{"男子冠军": "马龙", "女子冠军": "陈梦"}


近期更新

Embedding与Rerank模型RPM、TPM分别提升2倍、10倍
手把手教你配置OneAPI、LobeChat、MindSearch
SiliconCloud API接入实战沉浸式翻译、Dify、NextChat“三连击”

让超级产品开发者实现“Token自由”

邀请好友体验SiliconCloud狂送2000万Token/人

邀请越多,Token奖励越多
siliconflow.cn/zh-cn/siliconcloud

扫码加入用户交流群
继续滑动看下一个
硅基流动
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存