输出JSON格式的DeepSeek在线调用示例

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

《DeepSeek原生应用与智能体开发实践 王晓华 人工智能技术丛书 详解DeepSeek原生应用与MCP Agent智能体开发 清华大学出版社》【摘要 书评 试读】- 京东图书

在许多应用场景中,用户需要模型严格按照JSON格式输出数据,以确保输出的结构化和标准化,便于后续逻辑处理和解析。为了满足这一需求,DeepSeek提供了强大的JSON Output 功能,确保模型输出的字符串始终是合法的JSON格式。

我们给出一个DeepSeek官方提供的JSON结构化数据处理代码,如图2-26所示。

图2-26  JSON结构化数据处理代码

import json
from openai import OpenAI

client = OpenAI(
    api_key="<your api key>",
    base_url="https://api.deepseek.com",
)

system_prompt = """
The user will provide some exam text. Please parse the "question" and "answer" and output them in JSON format. 

EXAMPLE INPUT: 
Which is the highest mountain in the world? Mount Everest.

EXAMPLE JSON OUTPUT:
{
    "question": "Which is the highest mountain in the world?",
    "answer": "Mount Everest"
}
"""

user_prompt = "Which is the longest river in the world? The Nile River."

messages = [{"role": "system", "content": system_prompt},
            {"role": "user", "content": user_prompt}]

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages,
    response_format={
        'type': 'json_object'
    }
)

print(json.loads(response.choices[0].message.content))

这个样例代码运行结果如下:

{
    "question": "Which is the longest river in the world?",
    "answer": "The Nile River"
}

以下是一个完整的、根据图2-26所示的样例代码改写的Python示例代码,展示了如何使用DeepSeek的JSON Output功能完成一个自定义的JSON格式信息:

import json
from openai import OpenAI

client = OpenAI(
    api_key="sk-c646e1c201d74777b54f45c60973f4f3",
    base_url="https://api.deepseek.com",
)

system_prompt = """
用户将提供一些考试文本。请解析“问题”和“答案”,并将它们以 JSON 格式输出。
示例输入:
世界上最高的山是哪座?珠穆朗玛峰。

示例 JSON 输出:
{
    "question": "世界上最高的山是哪座?",
    "answer": "珠穆朗玛峰"
}
"""

user_prompt = "世界上最长的河流是哪条?尼罗河。"

messages = [{"role": "system", "content": system_prompt},
            {"role": "user", "content": user_prompt}]

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=messages,
    response_format={
        'type': 'json_object'
    }
)

print(json.loads(response.choices[0].message.content))

注意:代码中的api_key要改成你自己的授权码。运行代码,输出结果如下所示:

{'question': '世界上最长的河流是哪条?', 'answer': '尼罗河'}

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值