-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Open
Labels
Description
Description
const main = async () => {
const result = await generateObject({
model: deepseek("deepseek-chat"),
prompt: `Generate a random person`,
schema: z.object({
name: z.string().describe("The name of the person"),
age: z.number().describe("The age of the person")
}),
});
console.log(result.object);
};
get error
node:internal/process/promises:394
triggerUncaughtException(err, true /* fromPromise */);
^
APICallError [AI_APICallError]: Prompt must contain the word 'json' in some form to use 'response_format' of type 'json_object'.
at <anonymous> (/Users/wangchengfeng/code/tts/node_modules/@ai-sdk/provider-utils/src/response-handler.ts:56:16)
at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
at async postToApi (/Users/wangchengfeng/code/tts/node_modules/@ai-sdk/provider-utils/src/post-to-api.ts:112:28)
at async OpenAICompatibleChatLanguageModel.doGenerate (/Users/wangchengfeng/code/tts/node_modules/@ai-sdk/openai-compatible/src/openai-compatible-chat-language-model.ts:213:9)
at async fn (/Users/wangchengfeng/code/tts/node_modules/ai/src/generate-object/generate-object.ts:337:30)
at async <anonymous> (/Users/wangchengfeng/code/tts/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async _retryWithExponentialBackoff (/Users/wangchengfeng/code/tts/node_modules/ai/src/util/retry-with-exponential-backoff.ts:96:12)
at async fn (/Users/wangchengfeng/code/tts/node_modules/ai/src/generate-object/generate-object.ts:308:32)
at async <anonymous> (/Users/wangchengfeng/code/tts/node_modules/ai/src/telemetry/record-span.ts:18:22)
at async generateObject (/Users/wangchengfeng/code/tts/node_modules/ai/src/generate-object/generate-object.ts:264:12) {
cause: undefined,
url: 'https://api.deepseek.com/v1/chat/completions',
requestBodyValues: {
model: 'deepseek-chat',
user: undefined,
max_tokens: undefined,
temperature: undefined,
top_p: undefined,
frequency_penalty: undefined,
presence_penalty: undefined,
response_format: { type: 'json_object' },
stop: undefined,
seed: undefined,
reasoning_effort: undefined,
messages: [ { role: 'user', content: 'Generate a random person' } ],
tools: undefined,
tool_choice: undefined
},
statusCode: 400,
responseHeaders: {
'access-control-allow-credentials': 'true',
connection: 'keep-alive',
'content-length': '195',
'content-type': 'application/json',
date: 'Sat, 09 Aug 2025 04:25:16 GMT',
server: 'CW',
'set-cookie': 'HWWAFSESTIME=1754713512170; path=/',
'strict-transport-security': 'max-age=31536000; includeSubDomains; preload',
vary: 'origin, access-control-request-method, access-control-request-headers',
'x-content-type-options': 'nosniff',
'x-ds-trace-id': 'd6a625495e18ca0a805607cccacb82cf'
},
responseBody: `{"error":{"message":"Prompt must contain the word 'json' in some form to use 'response_format' of type 'json_object'.","type":"invalid_request_error","param":null,"code":"invalid_request_error"}}`,
isRetryable: false,
data: {
error: {
message: "Prompt must contain the word 'json' in some form to use 'response_format' of type 'json_object'.",
type: 'invalid_request_error',
param: null,
code: 'invalid_request_error'
}
},
[Symbol(vercel.ai.error)]: true,
[Symbol(vercel.ai.error.AI_APICallError)]: true
}
AI SDK Version
"@ai-sdk/deepseek": "^1.0.3",
"ai": "^5.0.8",