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.mzph.cn/news/743576.shtml

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

相关文章

重学SpringBoot3-WebMvcConfigurer接口

摘要: 本文详细介绍了SpringBoot 3中的WebMvcConfigurer接口,旨在帮助读者深入理解其原理和实现,从而能够更好地使用SpringBoot进行Web开发。阅读本文需要大约30分钟。 关键词:SpringBoot, WebMvcConfigurer, SpringMVC, Web开发…

51-29 开环端到端自动驾驶中自车状态是你所需要的一切吗?

​本论文是南京大学、英伟达最新CVPR 24工作。蛮幸运的,该论文提出了很多思考,证明了很多最优Paper在落地上车方面的无效性。咱们对待新方法能否成为自动驾驶的最佳实践要审慎。 论文名称:Is Ego Status All You Need for Open-Loop End-to-End Autonomous Driving? 论文链…

数据结构知识点总结00-知识点目录

专栏主页: 数据结构算法程序设计基础C语言知识点总结https://blog.csdn.net/seeker1994/category_12585732.html C语言知识点总结00-C语言知识点目录 最优算法100例00-最优算法100例目录 ...... 数据结构知识点目录 要求: (1&#xff…

08.JavaScript中的编程思想,构造函数和原型对象

一、编程思想 学习 JavaScript 中基于原型的面向对象编程序的语法实现,理解面向对象编程的特征。 1.面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次 调用就可以了。 举个…

opencv编解码base64字符串

cpp-base64代码地址&#xff1a; https://github.com/ReneNyffenegger/cpp-base64 下载仓库&#xff0c;并将base64.h&#xff0c;Base64.cpp 加入代码中&#xff0c; 将Mat对象编码为base64字符串 Mat img imread("xxx.png"); std::vector<uchar> buf; cv::…

小明的背包——01背包问题

经典版 题目链接&#xff1a;1.小明的背包1 - 蓝桥云课 (lanqiao.cn) 01背包问题中&#xff0c;每种物品只有两种状态&#xff0c;即拿或不拿。设状态dp[i][j]max(dp[i-1][j],dp[i-1][j-w]v)&#xff1b;如果不拿物品i&#xff0c;那么最大价值就是dp[i-1][j]&#xff0c;如果…

探索Java高并发编程之道:理论与实践

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 简介 随着互联网和信息技术的快速发展&#x…

【2024 R1 版本更新】Ansys Fluent(上)

​​Ansys2024R1来了&#xff0c;小宇赶紧将新功能给大家汇报一下。GPU求解器功能势头最强&#xff0c;pyFluent又开始迭代了&#xff0c;CPU模型中又更新了很多功能&#xff0c;fluent meshing中的thin volume mesh功能也来了。

libusb_Qt使用

Libusb libusb_github 建议直接下载库&#xff0c;编译好麻烦 QT调用 .pro文件添加&#xff1a; win32: LIBS -L$$PWD/LIB/libusb/x64/ -llibusb-1.0.cpp调用即可 #include "LIB/libusb/libusb.h" void class_name::fun(){/* 1. */libusb_init(NULL);/**/str…

python-YoloV5模型目标检测应用案例

YOLOv5 是一种非常流行的实时目标检测模型&#xff0c;它提供了出色的性能和精度。下面是一个使用 Python 和 YOLOv5 进行目标检测的基本应用案例。 步骤 1&#xff1a;安装 YOLOv5 和相关依赖 首先&#xff0c;确保你安装了所有必要的依赖。这通常包括 torch、torchvision 和…

mockjs学习

1.前言 最近面试发现之前团队协同合作的项目没有mock数据难以向面试官直接展示&#xff0c;所以迟到得来速学一下mockjs。 参考视频&#xff1a;mockJs 妈妈再也不用担心我没有后端接口啦_哔哩哔哩_bilibili 一开始查阅了一些资料&#xff0c;先是看了下EasyMock&#xff0c…

环保企业应适应行业发展趋势,不断创新和提升竞争力|中联环保圈

《2023年行业评述及2024年发展展望》一文&#xff0c;由中国环保产业协会撰写&#xff0c;全面审视了过去一年我国生态环保产业的发展状况&#xff0c;并对新的一年发展趋势进行了深度预测。该报告以行业主要政策标准为基础&#xff0c;结合报告以及新冠疫情防控转段后的经济恢…

突破编程_C++_查找算法(二分查找)

1 算法题 &#xff1a;使用二分查找算法在有序数组中查找指定元素 1.1 题目含义 给定一个升序排列的整数数组 nums 和一个目标值 target&#xff0c;写一个函数来搜索 nums 中的 target&#xff0c;如果目标值存在于数组中&#xff0c;则返回它的索引&#xff1b;否则返回 -1…

Cocos2dx-lua ScrollView[二]进阶篇

一.概述 本文缩写说明:sv = ScrollView, item代表ScrollView的一个子节点 如果对sv熟系程度还不够,请阅读基础篇: Cocos2dx-lua ScrollView[一]基础篇-CSDN博客 本文介绍sv的一种封装类库,来实现快速创建sv,有如下几个优点: 1.item的位置通过参数控制,提高开发效率…

使用Java自带的VisualVM监控远程服务器部署在Docker容器中的Java项目并使用Mat在线工具排查服务器内存泄露或内存溢出的原因

事情是这样的&#xff0c;我们项目最近应业主的要求迁移到了新的服务器&#xff0c;起初一切正常&#xff0c;部署、上线、测试都没有问题&#xff0c;项目大概运行了一周的工作日时间都没出现问题&#xff0c;直到周六那天&#xff0c;项目经理打电话过来说服务器崩了&#xf…

鼠标不动了怎么办?4招帮你解决问题!

“我在使用鼠标时&#xff0c;用着用着鼠标就动不了了&#xff0c;这是为什么呢&#xff1f;怎么才能让鼠标恢复正常呢&#xff1f;” 鼠标作为电脑使用中最常用的输入设备之一&#xff0c;其正常运行对于我们的工作效率至关重要。然而&#xff0c;有时我们可能会遇到鼠标突然不…

深入学习React开发:从基础到实战

&#x1f482; 个人网站:【 海拥】【神级代码资源网站】【办公神器】&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交流的小伙伴&#xff0c;请点击【全栈技术交流群】 引言 React是一款流行的JavaScript库&#xf…

C#重新认识笔记_ FixUpdate + Update

C#重新认识笔记_ FixUpdate Update Update: 刷新频率不一致,非物理对象的移动&#xff0c;简单的刷新可用&#xff0c; FixedUpdate: 刷新频率一致,按照固定频率刷新&#xff0c;一般调用FixedUpdate之后&#xff0c;会立即进入必要的物理计算中,因此&#xff0c;任何影响刚…

Union和union导致的数据不一致

平时工作中经常用到union&#xff0c;可以自带去重的操作&#xff0c;今天有个汇总的SQL也用了这个&#xff0c;需求是统计多张表的余额字段&#xff0c;看着就很简单union再sum或者sum再union。 第一种每张表先汇总&#xff0c;使用 UNION ALL 合并后最外层再汇总 SELECT SUM(…

【CSP试题回顾】201803-1-跳一跳

CSP-201803-1-跳一跳 解题代码 #include <iostream> using namespace std;int score, s, last_s -1;int main() {while (true){cin >> s;if (s 0) break;else if (s 1) {score s;last_s s;}else if (s 2) {if (last_s>2){score last_s;last_s 2;}else…