1. API请求
智信AI-使用指南
  • 使用指南
    • 平台介绍
    • 使用指南
      • 快速开始
      • 注册账号
      • 账户充值
      • 新建API令牌
      • 获取BaseUrl
      • 系统令牌及用户ID
      • 余额查询接口
      • 计费规则
      • 平台管理类接口
        • 模型列表查询
        • 检索API令牌
        • 模型用量查询
        • 获取API令牌
    • 开发者文档
      • 基础核心概念
      • API请求
        • 平台通用格式
        • 文本对话(非流)
        • 文本对话(流式)
        • 输出JSON格式
        • 向量嵌入
        • 函数调用
        • 图片分析
        • Responses API
    • 接入指南
      • 编程工具
        • Cursor 配置指南
        • VSCode (Continue) 配置指南
        • Claude Code 配置指南
      • 应用集成
        • NextChat 配置指南
        • Open Claw 配置指南
        • Chatbox 配置指南
        • Dify 配置指南
  1. API请求

输出JSON格式

请求后格式化输出JSON#


概述:#

通过 OpenAI 兼容 API 获取产品信息,并以结构化的 JSON 格式返回数据。本接口支持使用 Pydantic 模型定义输出格式,确保返回数据的准确性和一致性。

接口地址#

https://ai.hcrzx.com/v1/chat/completions

Python代码示例#

"""
================================================================================
JSON格式化输出示例
================================================================================
功能说明:
    本脚本演示如何使用OpenAI 兼容接口,通过结构化输出功能
    从自然语言描述中提取产品信息(名称、价格、描述)并格式化为 JSON。
================================================================================
"""

from pydantic import BaseModel
from openai import OpenAI
from textwrap import dedent
import json

# ============================================================================
# 初始化客户端
# ============================================================================
client = OpenAI(
    api_key="sk-**********************************",
    base_url="https://ai.hcrzx.com/v1/"
)

# ============================================================================
# 数据模型定义
# ============================================================================
class ProductInfo(BaseModel):
    product_name: str
    price: str  
    description: str

# ============================================================================
# 提示词(强制输出 JSON)
# ============================================================================
product_prompt = '''
你是一个数据提取助手。
请从用户输入的产品信息中,严格按照下面的 JSON 格式返回结果,
**只返回 JSON,不要返回任何其他文字、解释、说明**。
输出格式:
{
    "product_name": "产品名称",
    "price": "字符串,不知道填0",
    "description": "产品详细描述"
}
'''

# ============================================================================
# 核心函数
# ============================================================================
def get_product_info(question: str) -> ProductInfo:
    """获取产品信息,兼容所有 API"""
    
    # 标准 API 调用,不使用 beta.parse()
    completion = client.beta.chat.completions.parse(
        model="qwen3.6-plus",
        messages=[
            {"role": "system", "content": dedent(product_prompt)},
            {"role": "user", "content": question},
        ],
        
        response_format=ProductInfo
    )
    
    # 获取返回的 JSON 字符串
    json_str = completion.choices[0].message.parsed
  
    return json_str

def transform2JSON(parsed_result: ProductInfo) -> str:
    product_inform = {
        "product_name": parsed_result.product_name,
        "price": parsed_result.price,
        "description": parsed_result.description
    }
    return json.dumps(product_inform, ensure_ascii=False, indent=4)

# ============================================================================
# 主程序
# ============================================================================
if __name__ == "__main__":
    question = "iphone 16"

    result = get_product_info(question)
    json_result = transform2JSON(result)
    
    print(json_result)

返回结果#

{
    "product_name": "iPhone 16",
    "price": "0",
    "description": "苹果公司最新一代智能手机,搭载A18芯片,支持Apple Intelligence,配备升级版双摄像头系统并新增相机控制按钮,机身设计更轻薄,电池续航进一步优化。"
}
修改于 2026-05-12 07:46:49
上一页
文本对话(流式)
下一页
向量嵌入
Built with