PHP怎么在AI模型响应后流式输出

PHP怎么在AI模型响应后流式输出?

目前市面上的AI模型基本上都是流式输出的,这样做的好处:

1. 好看;
2. 模型每秒输出的token受限,如果内容过长,不可能一下子全部输出,所以是以流的形式返回。

那么如果用PHP我们对接了AI模型,也想以流的形式返回给前端怎么办呢?

PHP编译安装配置企业微信扩展

编译安装PHP的企业微信扩展,最好使用CentOS7.9,不支持Windows和macOS,Ubuntu的兼容性也有问题。

由于扩展的兼容性问题,需要禁用intl扩展,在编译之前需要先重新编译安装PHP并禁用intl,可参考 [宝塔面板自定义参数编译安装PHP](https://www.pimspeak.com/bt-compile-php-self-config-params.html)。

宝塔面板自定义参数编译安装PHP

宝塔面板虽然可以很方便地安装PHP各个版本,但参数都是预先定义好的,自己不能改。

如果要自定义参数编译安装PHP,要费一点周折。

比如我最近遇到一个问题,编译安装企业微信的扩展跟PHP7.4自带的扩展intl冲突,只能先把原来的PHP版本卸载掉,再重新编译,直接在宝塔面板上操作是不行的,没有定义参数的地方。

智谱AI开放平台PHP对接

智谱AI开放平台的SDK只提供了Python和Java版,其它语言比如PHP只能使用HTTP的方式去调用,这就需要自己去实现鉴权和请求的代码。

自己用PHP写了个小demo,先生成jwt token,再拿它发送会话请求。

EasySwoole Task执行超时的问题

最近在使用EasySwoole处理异步任务(Task)时遇到了一个问题。

有一个Task,原本是在`EasySwooleEvent.php`中注册Crontab并异步调用这个Task运行的,好像没啥问题。但当把这个Task改为在Http控制器中执行时,问题出现了。

这个Task的运行时长通常在2分钟左右,在Crontab中能正常运行,而通过Http控制器去请求同步执行时,基本上都是在8秒左右就结束了,并且返回一个`-7`的错误代码,EasySwoole官网文档中说这个错误是因为超时。

豫ICP备19001387号-1