xin / coze
There is no license information available for the latest version (v1.1.0) of this package.
CozeAPI PHP SDK 是一个用于简化与 CozeAPI 交互的工具包
v1.1.0
2025-04-02 13:58 UTC
Requires
- php: >=7.1.9
- xin/capsule: ^1.1
- xin/http: ^1.3
- xin/support: ^1.19
README
简介
CozeAPI PHP SDK 是一个用于简化与 CozeAPI 交互的工具包。它提供了以下功能:
- 认证管理:自动处理 API 认证和令牌刷新。
- 请求封装:简化 API 请求的发送过程。
- 错误处理:统一处理 API 返回的错误信息。
- 响应解析:自动解析 API 返回的数据。
安装教程
composer require xin/coze
使用说明
- 初始化 SDK
<?php
$cozeService = new \Xin\Coze\CozeService([
'app_id' => '',
'public_key_id' => '',
'private_key' => ""
]);
- 配置AccessToken缓存器
<?php
use Xin\Coze\AccessToken;
// 返回实现了 \Psr\SimpleCache\CacheInterface 的对象
AccessToken::setCacheResolver(function (){
return new Psr\Cache\SimpleCache\ArrayCache();
});
// 在 Laravel 中使用
AccessToken::setCacheResolver(function (){
return Cache::store('file');
});
使用示例
- 发送 GET 请求
<?php
try {
$result = $cozeService->httpGet('/v1/user/info', []);
catch (\Exception $e) {
echo "Error: " . $e->getMessage();
}
- 发送 POST 请求
<?php try { $result = $cozeService->httpPost('/v1/user/info', []); }catch (\Exception $e){ echo "Error: " . $e->getMessage(); }
- 使用内置服务
<?php // 创建会话 $data = $cozeService->chat()->create([ 'bot_id' => '', 'user_id' => '', 'additional_messages' => [ [ 'role' => 'user', 'type' => 'question', 'content' => '你好', ], ], 'stream' => true, ], [ 'wait' => true, ]); var_dump($data);
// 获取流式数据 foreach ($data as $line) {
if ($line === '[DONE]') { // || 'event:conversation.message.completed' === $line
break;
}
$line = json_decode($line, true);
if (!$line) {
continue;
}
if (isset($line['type']) && $line['type'] === 'answer') {
if (!isset($line['created_at'])) {
echo $line['content'];
} else {
echo "\n";
$data->close();
Printer::info($line);
}
} else {
}
}
// 阻塞获取会话消息 var_dump($cozeService->chat()->waitMessages($data['conversation_id'], $data['id']));
// 获取会话消息 var_dump($cozeService->chat()->messages($conversationId,$chatId));