Как правильно получить записи API json в php [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как правильно получить записи API json в php [дубликат]

Сообщение Anonymous »

Я работаю с API с приведенным ниже кодом. Когда я повторяю вывод вызова API в соответствии с этой строкой кода echo $output = Curl_exec($ch);, я получил следующий результат ниже.
data: {"choices":[{"delta":{"content":"","role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1731684833,"id":"ccb3d64e-2319-464a-86d5-7255e3a2c552","model":"Meta-Llama-3.1-8B-Instruct","object":"chat.completion.chunk","system_fingerprint":"fastcoe"} data: {"choices":[{"delta":{"content":"Hello. How can I assist ","role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1731684833,"id":"ccb3d64e-2319-464a-86d5-7255e3a2c552","model":"Meta-Llama-3.1-8B-Instruct","object":"chat.completion.chunk","system_fingerprint":"fastcoe"} data: {"choices":[{"delta":{"content":"you today?","role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1731684833,"id":"ccb3d64e-2319-464a-86d5-7255e3a2c552","model":"Meta-Llama-3.1-8B-Instruct","object":"chat.completion.chunk","system_fingerprint":"fastcoe"} data: {"choices":[{"delta":{"content":"hey","role":"assistant"},"finish_reason":null,"index":0,"logprobs":null}],"created":1731684833,"id":"ccb3d64e-2319-464a-86d5-7255e3a2c552","model":"Meta-Llama-3.1-8B-Instruct","object":"chat.completion.chunk","system_fingerprint":"fastcoe"} data: {"choices":[{"delta":{"content":"are you there"},"finish_reason":"stop","index":0,"logprobs":null}],"created":1731684833,"id":"ccb3d64e-2319-464a-86d5-7255e3a2c552","model":"Meta-Llama-3.1-8B-Instruct","object":"chat.completion.chunk","system_fingerprint":"fastcoe"} data: [DONE]

Теперь я попытался напечатать значение content в цикле foreach() согласно приведенной ниже строке кода, но ничего не отображается.
foreach($json['data']['choices'] as $rec){
echo $content = $rec['delta']['content'];
}

Как получить все значения для контента?
Вот полный код:
$url ="https://api.sambanova.ai/v1/chat/completions";
$payload ='{
"stream": true,
"model": "Meta-Llama-3.1-8B-Instruct",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "hello"
}
]
}' ;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Bearer $sambanova_api_keys" , 'Content-Type:application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
echo $output = curl_exec($ch);
curl_close($ch);

$json = json_decode($output, true);
foreach($json['data']['choices'] as $rec){
echo $content = $rec['delta']['content'];
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... rds-in-php
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»