PHP怎样调用京东言犀大模型_填业务参数获商品文案输出【窍门】

京东言犀API调用前必须确认app_key、app_secret、access_token三个参数:app_key为应用唯一标识,app_secret仅创建时可见,access_token需用前两者申请且2小时过期须缓存刷新。

php怎样调用京东言犀大模型_填业务参数获商品文案输出【窍门】

京东言犀 API 调用前必须确认的三个业务参数

京东言犀大模型不开放通用接口,必须走京东云「言犀智能创作」服务,且需提前在 京东云控制台 → AI与大模型 → 言犀智能创作 中完成应用创建和权限开通。真正影响调用成败的不是代码,而是这三个参数是否准确填对:

  • app_key:应用创建后生成的唯一标识,不是京东账号ID,也不是API Key
  • app_secret:对应密钥,仅创建时可见一次,丢失需重置
  • access_token:非静态值,需用 app_key + app_secrethttps://api.jd.com/oauth2/token 申请,有效期2小时,必须缓存并自动刷新

PHP 发起 POST 请求获取商品文案的关键写法

京东言犀要求请求体为 JSON,且必须带 Content-Type: application/jsonAuthorization: Bearer {access_token}。常见错误是直接用 file_get_contents() 拼 URL,或漏掉认证头导致 401。

 '为一款【无线降噪蓝牙耳机,支持30小时续航,IPX5防水】生成3条电商主图文案,每条不超过60字,突出卖点,口语化',
    'model' => 'yanxi-pro', // 目前可用值:yanxi-base / yanxi-pro
    'max_tokens' => 200,
    'temperature' => 0.7
];

$options = [
    'http' => [
        'method' => 'POST',
        'header' => [
            "Content-Type: application/json/r/n",
            "Authorization: Bearer {$access_token}/r/n"
        ],
        'content' => json_encode($data, JSON_UNESCAPED_UNICODE)
    ]
];

$context = stream_context_create($options);
$result = file_get_contents('https://api.jd.com/yanxi/v1/chat/completions', false, $context);

if ($result === false) {
    throw new Exception('HTTP request failed');
}
$response = json_decode($result, true);
echo $response['choices'][0]['message']['content'] ?? '无返回内容';
?>

返回结果里文案提取容易踩的坑

京东言犀返回结构和 OpenAI 不同:response['choices'] 是数组,但每项的文本不在 text 字段,而在 message['content'];且当请求失败时,错误信息藏在 response['error']['message'],不是 HTTP 状态码决定成败。

NeuralText

NeuralText

Neural Text是一个使用机器学习自动生成文本的平台

下载

  • 不要假设 $response['choices'][0]['text'] 存在 —— 这是 OpenAI 风格,言犀不用
  • 检查 isset($response['choices'][0]['message']['content']) 前,先判断 isset($response['error'])
  • 若返回 "error": {"code": "INVALID_PARAMETER", "message": "prompt cannot be empty"},说明 prompt 字段为空或含非法字符(如未转义的换行)

生产环境必须处理的两个实际问题

本地跑通不等于线上可用。真实业务中,access_token 刷新和并发请求是高频故障源。

立即学习PHP免费学习笔记(深入)”;

  • access_token 必须持久化存储(如 Redis 或文件),不能每次请求都重新申请;刷新逻辑要加锁,避免多进程同时触发重复申请
  • 京东言犀接口有 QPS 限制(默认 5次/秒),PHP-FPM 场景下若未做请求合并或队列缓冲,高并发时大量 429 错误
  • 提示词(prompt)中避免硬编码商品参数,应使用占位符 + sprintf() 或模板引擎拼接,否则难以维护和 A/B 测试

京东言犀不是“调个 API 就出文案”的玩具,它的业务参数强耦合京东生态,app_keyaccess_token 的生命周期管理比调用本身更关键。很多人卡在第一步——以为拿到文档就能跑,其实连控制台里那个「应用状态」是不是「已上线」都没确认。

https://www.php.cn/faq/1978768.html

发表回复

Your email address will not be published. Required fields are marked *