Download the PHP package laybot/ai-sdk without Composer

On this page you can find all versions of the php package laybot/ai-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ai-sdk

LayBot / AI-SDK · PHP

灵语智教 · 多模型厂商与实时语音能力聚合 SDK
Ark · DeepSeek · OpenAI-Compatible · Responses · TTS · ASR · Webman Async

Chat · Responses · SSE · Tool Calls · Files · TTS · AUC · SAUC · WebSocket

LayBot 灵语智教 Packagist Apache License 2.0 PHP 8.1+

Powered by LayBot LingTeach AI · Laybot 现代 MPA 工程平台

laybot/ai-sdk 是面向 PHP 8.1+ 的多供应商 AI 与语音协议 SDK。
它在 laybot/request-sdk 之上统一 Chat、Responses、流式文本、Tool Call、Usage、Files、TTS、ASR 和供应商异常。


1. 项目简介

在企业 AI 项目中,接入大模型通常不只是发送一次 HTTP 请求。

实际系统还需要处理:

laybot/ai-sdk 将这些能力收敛为统一的 PHP API:

它解决的不是单纯的“调用一个模型”,而是:

如何在 PHP 企业项目中,以可维护、可观测、可取消、可扩展的方式统一接入模型和实时语音供应商。


2. LayBot 体系

本 SDK 脱胎于:

LayBot 系列组件包括:

项目 职责
laybot/request-sdk HTTP、SSE、NDJSON、WebSocket、TLS、Proxy、Retry、Cancellation
laybot/ai-sdk 模型消息、流式状态、Tool Call、Usage、TTS、ASR、供应商协议
laybot/storage-sdk 文件和对象存储相关能力
业务项目 用户、权限、消息、计费、任务、数据库、OSS 和业务审计

推荐分层:


3. 核心能力

3.1 大模型

3.2 火山语音

3.3 工程能力


4. 当前供应商状态

4.1 已通过真实账号验收

供应商 能力 状态
Ark / 豆包方舟 Chat 非流式 已验证
Ark / 豆包方舟 Chat SSE 已验证
Ark / 豆包方舟 Responses 非流式 已验证
Ark / 豆包方舟 Responses SSE 已验证
Ark / 豆包方舟 公网图片 URL 已验证
Ark / 豆包方舟 公网 PDF URL 已验证
Ark / 豆包方舟 Files 上传和 file_id 已验证
DeepSeek Chat 非流式 已验证
DeepSeek Chat SSE 已验证
DeepSeek Reasoner 已验证
火山语音 已有声音复刻音色查询 已验证
火山语音 HTTP SSE TTS 已验证
火山语音 双向 WebSocket TTS 已验证
火山语音 AUC 文件识别 已验证
火山语音 SAUC Async 已验证
火山语音 SAUC Nostream 已验证

4.2 已实现但尚未完成真实账号验收

供应商/能力 状态
OpenAI Chat / Responses / Files / Resources 协议已实现,待真实账号验收
Gemini Native API 协议已实现,待真实账号验收
Anthropic / Claude Messages 协议已实现,待真实账号验收
Qwen OpenAI-Compatible 待真实账号验收
xAI OpenAI-Compatible 待真实账号验收
Groq OpenAI-Compatible 待真实账号验收
火山 HTTP Chunked TTS 已实现,待正式账号专项验收
LayBot 平台扩展资源 由实际平台端点决定

“协议已实现”不等同于“已完成目标账号生产验收”。
正式项目应依据自身模型、区域、配额和供应商版本执行集成测试。


5. 框架支持

运行环境 同步 Chat 同步流 异步 HTTP/SSE 实时 TTS/ASR WebSocket
Webman / Workerman 支持 支持 支持 支持
Laravel 支持 支持 需 Workerman 事件循环 需 Workerman 事件循环
ThinkPHP 支持 支持 需 Workerman 事件循环 需 Workerman 事件循环
Symfony 支持 支持 需 Workerman 事件循环 需 Workerman 事件循环
Yii 支持 支持 需 Workerman 事件循环 需 Workerman 事件循环
PHP CLI 支持 支持 需启动 Workerman 需启动 Workerman
PHP-FPM 支持 受网关缓冲和执行时间影响 不建议 不适用
Swoole / Hyperf 同步能力可用 可能阻塞协程 暂无原生适配 暂无原生适配

SDK 不会根据环境自动改变方法语义:


6. 运行要求

基础要求:

异步 HTTP、SSE、TTS 和 ASR 需要底层 Workerman 事件循环支持。

推荐生产环境:


7. 安装

本地开发:


8. 配置

8.1 创建统一 AiClient

8.2 Provider 配置项

支持通过别名配置同一协议:


9. Chat 快速开始

9.1 Ark 非流式 Chat

9.2 DeepSeek 非流式 Chat


10. 统一 completions() 入口

completions() 根据请求中的 stream 决定返回类型:

返回类型:


11. 同步流式 Chat

流式结果包含:


12. Webman 异步流式 Chat

在 Webman/Workerman 已运行的 Worker 中:

取消:

在已经运行的 Webman Worker 中不要再次调用:


13. ChatRequest DTO

规则:

调用方可以动态传入任何运行时模型和消息,SDK 不会写死模型。


14. Tool Calls

OpenAI-Compatible 请求:

流式 Tool Call 会按 choice_index 和 index 归并。

统一结果当前只支持单候选:


15. Ark Responses API

15.1 文本

completed 只在供应商返回:

时为 true。

如果供应商返回:

SDK 不会将其伪装成成功。


15.2 公网图片 URL


15.3 公网 PDF URL


15.4 上传文件并使用 file_id

文件上传后可能暂时处于:

业务项目应轮询文件状态,不能对所有错误盲目重试。


15.5 Responses SSE

异步:


16. 火山语音配置

火山语音 API Key 与 Ark API Key 是不同凭证。

所有凭证都只能保存在服务端,不要放入:


17. HTTP SSE TTS

结果包含:

大音频不要长期拼接在内存中,应在 AUDIO_CHUNK 回调中持续写入临时文件。


18. HTTP Chunked TTS

HTTP Chunked 使用 JSON Lines 解析。

由于不同火山产品和账号可能返回不同外层结构,正式上线前必须使用目标账号执行协议验收。


19. 查询已有复刻音色

当前 SDK 支持:

当前未提供完整的:


20. 双向 WebSocket TTS

双向 TTS 需要 Workerman 事件循环。

连接状态:

Session 状态:

同一连接同时只允许一个活动 Session。

只有收到当前 Session 的终态后,才能创建下一个 Session。


21. Ark 流式文本接入实时 TTS

推荐链路:

注意:


22. AUC 文件语音识别

上述轮询示例适用于 CLI 或专用任务 Worker。

在 Webman WebSocket Worker 中,不要使用 usleep() 阻塞事件循环,应使用:

或将 AUC 轮询放入独立任务进程。


23. SAUC 实时 ASR

SAUC 使用双向 WebSocket 上传音频。

收到 onReady() 后发送音频:

或者:

last=true 时 SDK 会发送火山协议要求的最后一个负序号音频包。


24. AUC 与 SAUC 的选择

场景 推荐
已上传到 OSS 的完整录音 AUC
边录音边显示识别结果 SAUC Async
流式上传、整句返回 SAUC Nostream
业务正式存档识别 AUC
实时输入体验 SAUC

一期业务可以采用:

实时增强:

如果同时执行 AUC 和 SAUC,应评估双份识别费用。


25. 超时配置

支持:

配置 说明
connect_timeout TCP、代理和 TLS 连接超时
request_timeout 请求总超时
idle_timeout 流连续无数据超时

Chat 流推荐:

Ark PDF/Files 推荐:

实时语音推荐:

request_timeout=0 表示不限制流总持续时间,但仍受 idle_timeout 保护。


26. Retry 与重复计费

生成式请求默认:

这是为了避免:

只有明确幂等的查询才应启用重试:

如果已经收到部分文本或音频,不应自动重新执行完整生成请求。

ProviderException 会提供:


27. 配置覆盖与多租户

27.1 单次网络覆盖

27.2 单次 Endpoint 覆盖

Endpoint 应放在调用选项,不是模型请求 Body:

27.3 多租户 API Key

存在实例级覆盖时,AiClient 不会缓存该 ProviderClient,防止租户 Key、Base URI 和 Header 污染其他调用。


28. 常驻进程与并发建议

AiClient 可以在单个 Webman Worker 生命周期内复用:

以下对象必须按请求或会话创建:

不要:

服务端向 App 转发实时音频时推荐:


29. 异常体系

基础异常:

示例:


30. 日志与敏感信息

SDK 默认注册以下敏感 Header:

自定义:

生产环境不要记录:


31. 模型能力注册

未知模型能力默认不会被武断阻断:

项目可以注册能力:

能力状态:

unknown 默认不阻断新模型。


32. LayBot 灵语智教平台能力

通过 LayBot Vendor 可以访问平台能力:

Chat:

平台资源入口:

教育扩展 API 包括:

具体可用模型、计费、端点和合规能力以:

为准。


33. 旗舰教育模型示例

教育场景 方案 模型示例 代号
口语评测 实时识别与表达分析 灵语·语韵 LB-Phona
能力素养测评 综合分析与成长建议 灵语·慧学 LB-Skillwise
K12 分层教学 梯度内容生成 明心·洞玄 LB-Insight
智能组卷批改 图文试卷处理 灵语·玄穹 LB-Aethel
学业诊断 薄弱点定位 灵语·太初 LB-Primordius
跨学科教学 知识关联推理 灵语·寰宇 LB-Cosmos

模型名称仅作为 LayBot 平台产品示例。
实际开放范围、价格和能力以控制台为准。


34. 与 Laybot MPA 前端集成

本项目是服务端 PHP SDK,不应将供应商 API Key 写入前端组件。

推荐:

正确链路:

禁止:

Laybot MPA/SPA 前端框架相关信息:


35. 安全与合规边界

SDK 提供:

SDK 本身不自动完成:

这些能力应由:

共同完成。


36. 当前限制

当前 2.x 的明确边界:


37. 测试

37.1 静态检查与单元测试

当前验收基线:

37.2 小毅 AI 集成测试

当前验收基线:

已连续执行三轮通过。

37.3 全部集成测试


38. 生产发布检查

检查敏感文件:

检查 Worker 源码目录污染:

发布前清理:

真实 API Key 必须保存在本地 .env 或密钥管理系统中,不能进入版本库。


39. Webman 生产建议

普通短请求

可以使用同步 API:

长时间 Chat、Responses、实时 TTS/ASR

优先使用异步 API:

进程隔离

推荐:

不要让一个 Worker 同时承担:


40. 路线图


41. 贡献指南

提交代码前必须确保:

欢迎提交 Issue 和 Pull Request。


42. LayBot 系列项目

LayBot 专注于现代 Web 工程、教育智能、知识管理和 AI 基础设施。

如果本项目对你的 PHP AI 工程有帮助,欢迎 Star、反馈和参与建设。


43. License、NOTICE 与署名

本项目采用 Apache License 2.0 开源协议。

Apache License 2.0 允许:

分发本项目或其衍生版本时,应按照 Apache License 2.0 的要求:

LayBot、Laybot、灵语智教、LayBot LingTeach AI 及相关标识属于其权利人。Apache License 2.0 不授予商标使用权。

技术与产品信息:


LayBot · 灵语智教
稳定连接模型,让 PHP 专注业务。


All versions of ai-sdk with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-json Version *
ext-zlib Version *
laybot/request-sdk Version ^2.0.6
psr/log Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package laybot/ai-sdk contains the following files

Loading the files please wait ...