win11 ubuntu子系统 开代理 调试 openai 接口

我的是laravel项目,步骤如下

步骤1:配置WSL以使用代理

首先,确保WSL中的所有请求都通过你的代理服务器。你可以通过在WSL的shell配置文件(如~/.bashrc~/.zshrc)中设置环境变量来实现。打开终端,编辑对应的配置文件,并添加以下内容(记得替换proxy_addressproxy_port为你的代理信息):

export http_proxy=http://proxy_address:proxy_port
export https_proxy=https://proxy_address:proxy_port

保存并关闭文件,然后在终端运行source ~/.bashrcsource ~/.zshrc来应用更改。

步骤2:安装openai-php/client

首先,通过Composer安装openai-php/client。在你的Laravel项目根目录下打开终端或命令行界面,执行以下命令:

composer require openai-php/client

确保你的composer.json文件已更新,并成功安装了该库。

步骤3:配置环境变量

接下来,配置必要的环境变量。在你的.env文件中添加你的OpenAI API密钥:

OPENAI_API_KEY=你的OpenAI_API_密钥

为了方便地配置和使用代理,你也可以在.env文件中添加代理设置:

HTTP_PROXY=http://proxy_address:proxy_port
HTTPS_PROXY=https://proxy_address:proxy_port

步骤4:使用openai-php/client并配置代理

代码:

    public function __construct(){$this->api_key = env('OPENAI_API_KEY');$this->proxy   = env('HTTP_PROXY');$this->client = \OpenAI::factory()->withApiKey($this->api_key)->withHttpClient($client = new \GuzzleHttp\Client(['proxy' => $this->proxy,]))->make();}

步骤5:调用API

使用上面创建的方法实例化客户端,并调用OpenAI API:

    public function demo(Request $request){$validator = Validator::make($request->all(), ['user_input' => 'required']);if ($validator->fails()) {return response()->json(['error' => $validator->errors()->first()]);}if (!Auth::check()) {return response()->json(['error' => 'please log in first']);}$input = $request->input('user_input');$output = $this->generateImageLink($input);if ($output) {$this->addUsage(ProductPricing::GENERATE_IMAGE);}return response()->json(['input' => $input, 'output' => $output]);}private function generateImageLink($text){$response = $this->client->images()->create(['model'           => 'dall-e-3','prompt'          => $text,'n'               => 1,'size'            => '1024x1024','response_format' => 'url',]);return $response->data[0]->url;}

效果:在这里插入图片描述

参考资料:https://github.com/openai-php/client
代理配置参考:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/537188.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么 VSCode 不用 Qt 而要用 Electron?

为什么 VSCode 不用 Qt 而要用 Electron? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Qt 的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!&am…

使用Thymeleaf-没有js的html模板导出为pdf

html模板 <!DOCTYPE html> <html xmlns:th"http://www.thymeleaf.org"><head><title>PDF Template</title> </head> <body> <h1>User Information</h1> <p>Name: <span th:text"${user.name}&…

人工智能|机器学习——BIRCH聚类算法(层次聚类)

这里再来看看另外一种常见的聚类算法BIRCH。BIRCH算法比较适合于数据量大&#xff0c;类别数K也比较多的情况。它运行速度很快&#xff0c;只需要单遍扫描数据集就能进行聚类。 1.什么是流形学习 BIRCH的全称是利用层次方法的平衡迭代规约和聚类&#xff08;Balanced Iterative…

人工智能迷惑行为大赏——需求与科技的较量

目录 前言 一、 机器行为学 二、人工智能迷惑行为的现象 三、产生迷惑行为的技术原因 四、社会影响分析 五、解决措施 总结 前言 随着ChatGPT热度的攀升&#xff0c;越来越多的公司也相继推出了自己的AI大模型&#xff0c;如文心一言、通义千问等。各大应用也开始内置…

「媒体宣传」上海有哪些可以邀约的新闻媒体资源汇总

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 上海作为中国最大的城市之一&#xff0c;拥有丰富的新闻媒体资源。以下是一些可以邀约的新闻媒体资源汇总&#xff1a; 报纸媒体&#xff1a; 《新民晚报》&#xff1a;上海最具影响力的…

C语言strcmp函数讲解

strcmp函数介绍 在cplusplus官网上是这样介绍strcmp函数的 这里的意思是假如我们输入两个字符串一个是abcdef另一个也是abcdef他们两个字符的每个元素的ascii码值进行比较如果两个元素的ascii码值都相等就移动到下一个元素a与a进行比较b与b进行比较直到遇到\0为止&#xff0c…

【QT+QGIS跨平台编译】之三:【OpenSSL+Qt跨平台编译】(多平台下进行编译)

文章目录 一、OpenSSL介绍二、OpenSSL下载三、Windows下编译四、Linux下编译五、MacOS下编译一、OpenSSL介绍 OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。 …

如何解决Ubuntu 服务器Docker push报错“http: server gave HTTP response to HTTPS client”?

一、问题 二、解决方法 1、编辑/etc/docker/daemon.json 文件&#xff0c; 192.168.1.1xx 换成你自己 registry 服务的地址 sudo nano /etc/docker/daemon.json { "insecure-registries":["192.168.1.1xx:5000"] } 按 Ctrl X 键&#xff1a;保存更改&…

Linux系统运维命令:查看系统的平均负载(查看CPU的负载)

目 录 一、要求 二、快速了解系统资源利用情况的Linux命令 &#xff08;一&#xff09;cat /proc/loadavg命令 1、命令介绍 2、命令输出 3、命令解释 &#xff08;1&#xff09;前三个数字&#xff1a; &#xff08;2&#xff09;第四个值&#xff1a; &…

Android 15 首个开发者预览版到来

作者 / 工程副总裁 Dave Burke Android 15 的首个开发者预览版现已发布&#xff0c;以便各位开发者能与我们通力协作&#xff0c;打造更优秀的 Android 平台。 在 Android 15 中&#xff0c;我们继续致力于打造一个既能提升工作效率&#xff0c;又能提供全新功能的平台。这些新…

linux命令深入研究——cat

cat命令&#xff0c;“猫”&#xff0c;可以理解为瞄一眼文件内容&#xff0c;其中可以用重定向符号对文件进行一些修改&#xff0c;如增加&#xff0c;删除文件内容&#xff0c;其命令参数如-n&#xff0c;-s&#xff0c;-b可以输出带有行号的行 如果想要快速删除文件内容&…

leecode算法三

回溯 划分为k个相等的子集 相似度为 K 的字符串 动态规划 第k个数 使序列递增的最小交换次数 贪心算法 最多盛水容器 雇佣k个工人的最低成本