Repolode
orhanerday

orhanerday/open-ai

社区维护的 PHP 客户端,用于调用 OpenAI REST API,支持流式输出,无第三方运行时依赖。

Star
2,361
Fork
292
未关闭 Issue
0
最近提交
17天前

这是什么?

这是一个面向 PHP 应用的 OpenAI REST API 客户端,为聊天补全、Responses API、图像、向量嵌入、音频、文件、微调、内容审核、向量库、批处理、上传、实时会话、Webhook 以及组织用量报表等提供专用方法。库基于 PHP 原生的 cURL 和 JSON 扩展实现,要求 PHP 7.4 及以上,不依赖其他运行时包。

对于没有专用方法的接口,可以使用通用的 request() 方法发送请求,支持 JSON 和 multipart 请求体。流式调用会把 SSE 数据块交给回调函数处理。基础地址和 API 版本均可修改,因此也能对接兼容 OpenAI 协议的其他服务商。代理、超时、请求头和 cURL 选项同样可以配置。

响应处理方面,提供包含状态码、响应头和 JSON 解析的 Response 对象,可选择对 HTTP 错误抛出异常,并对限流及部分服务端错误进行带指数退避的自动重试。

核心功能

  • 01为聊天、Responses、图像、嵌入、音频、文件和微调等提供专用方法
  • 02通过回调函数处理流式响应
  • 03通用 request() 方法可调用没有专用方法的 REST 接口
  • 04可配置基础地址和 API 版本,适配兼容 OpenAI 协议的服务
  • 05对限流和部分服务端错误自动重试
  • 06支持 Webhook 签名验证

适用场景

  • 在 Laravel、Symfony 或 CakePHP 项目中接入 OpenAI 聊天或图像生成
  • 通过 SSE 将模型输出实时推送到浏览器
  • 修改基础地址后,从 PHP 调用兼容 OpenAI 协议的服务商
  • 在 PHP 后台脚本中管理文件、批处理任务或向量库

快速上手

  1. 1

    使用 Composer 安装库

    composer require orhanerday/open-ai
  2. 2

    设置 OPENAI_API_KEY 环境变量(Linux 或 macOS)

    export OPENAI_API_KEY='your-api-key'
  3. 3

    将 README 示例保存为 example.php 并运行

    php example.php

使用前须知

  • PHP 运行时存在安全公告:CVE-2026-109618 和 CVE-2026-109619 影响 PHP 本身,使用前请先升级 PHP。
  • 不支持 WebSocket 模式和回合中途引导,需要单独的 WebSocket 客户端。

收录于专题

标签

常见问题

open-ai 是什么?
社区维护的 PHP 客户端,用于调用 OpenAI REST API,支持流式输出,无第三方运行时依赖。 这是一个面向 PHP 应用的 OpenAI REST API 客户端,为聊天补全、Responses API、图像、向量嵌入、音频、文件、微调、内容审核、向量库、批处理、上传、实时会话、Webhook 以及组织用量报表等提供专用方法。库基于 PHP 原生的 cURL 和 JSON 扩展实现,要求 PHP 7.4 及以上,不依赖其他运行时包。
open-ai 可以免费使用吗?用的什么许可证?
open-ai 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
open-ai 还在维护吗?
活跃维护中。open-ai 最近一次提交是在 2026年10月21日。
open-ai 适合用来做什么?
在 Laravel、Symfony 或 CakePHP 项目中接入 OpenAI 聊天或图像生成 通过 SSE 将模型输出实时推送到浏览器 修改基础地址后,从 PHP 调用兼容 OpenAI 协议的服务商 在 PHP 后台脚本中管理文件、批处理任务或向量库
open-ai 怎么安装和运行?
使用 Composer 安装库: composer require orhanerday/open-ai 设置 OPENAI_API_KEY 环境变量(Linux 或 macOS): export OPENAI_API_KEY='your-api-key' 将 README 示例保存为 example.php 并运行: php example.php
在哪里获取 open-ai?
源代码和安装说明在 GitHub 上:https://github.com/orhanerday/open-ai

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目