How do you implement OpenAI GPT-3 Api Client in PHP?

news2024/9/21 18:53:58

题意:如何在 PHP 中实现 OpenAI GPT-3 API 客户端?

问题背景:

I need help understanding the vague instructions on https://packagist.org/packages/orhanerday/open-ai

我需要帮助来理解这些模糊的说明...

I downloaded the package from https://github.com/orhanerday/open-ai

我从 https://github.com/orhanerday/open-ai 下载了这个包。

I installed the package by running "composer require orhanerday/open-ai" in my Command Prompt

我通过在命令提示符中运行 composer require orhanerday/open-ai 安装了这个包。

Instructions stop making sense from there.....

从那以后,说明就不太清楚了……

What does the "use Orhanerday\OpenAi\OpenAi;" code mean and where is it applied? Am I to create a php file say index.php with content:

代码 use Orhanerday\OpenAi\OpenAi; 是什么意思,应该在哪里使用?我是要创建一个包含以下内容的 PHP 文件,比如 index.php 吗?

<?php

use Orhanerday\OpenAi\OpenAi;

$complete = $open_ai->complete([

   'engine' => 'davinci',
   'prompt' => 'Hello',
   'temperature' => 0.9,
   'max_tokens' => 150,
   'frequency_penalty' => 0,
   'presence_penalty' => 0.6,
]
?>

how and where do I add my api key? Do I create a file Orhanerday\OpenAi\OpenAi.php and enter my api key there? i.e. OPENAI_API_KEY=sk-**********************************************

我应该如何以及在哪里添加我的 API 密钥?我需要创建一个 Orhanerday\OpenAi\OpenAi.php 文件并在其中输入我的 API 密钥吗?例如 OPENAI_API_KEY=sk-**********************************************

问题解决:

You should define the $open_ai variable as an OpenAI object by passing your private KEY value. for example; new OpenAi('Your-OPENAI-KEY');

你应该通过传入你的私密密钥值,将 $open_ai 变量定义为一个 OpenAI 对象。例如:new OpenAi('Your-OPENAI-KEY');

Complete code;        完整的代码

<?php


use Orhanerday\OpenAi\OpenAi;

$open_ai = new OpenAi('OPEN-AI-KEY');// <- define the variable.

$complete = $open_ai->complete([
    'engine' => 'davinci',
    'prompt' => 'Hello',
    'temperature' => 0.9,
    'max_tokens' => 150,
    'frequency_penalty' => 0,
    'presence_penalty' => 0.6,
]);

I also added the Quick Start Part to orhanerday/OpenAI readme.

我还在 orhanerday/OpenAI 的自述文件中添加了快速入门部分。

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

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

相关文章

PDF转图片新潮流,4款神器告别手动截图

在这个信息爆炸的时代&#xff0c;PDF文件因为能在各种设备上保持格式不变&#xff0c;成了我们学习和工作中的好帮手。今天&#xff0c;我就诚心诚意地给你推荐几款现在特别流行的PDF转图片工具。这些工具操作起来非常简单&#xff0c;转换速度快&#xff0c;而且转换出来的图…

前端工程化工具——plop的使用-生成模板页面

背景 软件列表 软件名称版本号备注vue3.2.13vue-cli5.0.8plop4.0.1 操作步骤 新建vue3工程 vue create test-plop按提示完成操作即可 modules安装工具选择&#xff1a;yarn或npm均可 安装plop模块 yarn add plop -g新建模板文件 page1/index.hbs <template><…

【启动centos报错】另一个程序已锁定文件的一部分,进程无法访问,打不开磁盘.

启动centos报错 另一个程序已锁定文件的一部分&#xff0c;进程无法访问打不开磁盘“D:\Program2\CentOS\CentOS7\CentOS7.vmdk”或它所依赖的某个快照磁盘。模块“Disk”启动失败。未能启动虚拟机。解决方法 删除.lck文件

基于InP的通用光子集成技术(四)

7.ASPIC设计环境 在光子学中引入通用晶圆方法将导致光子芯片复杂度的重大变化&#xff1a;它将把设计从器件级转移到光路级&#xff0c;这一转变发生在20世纪70年代和80年代的微电子中&#xff0c;现在也发生在PIC中。 在通用方法中&#xff0c;可以通过具有许多构建块的PDK访…

数学建模笔记(2):Topsis分析法

一.评价类问题的几个关键词 1.指标 评价一个方案或者对象我们需要有评价指标&#xff0c;即从哪几个方面进行评价。比如评价一个人在保研上的竞争力&#xff0c;我们可以从绩点&#xff0c;课外竞赛&#xff0c;科研成果&#xff0c;学生工作&#xff0c;志愿服务等几个方面来…

Qt QTabWidget之创建标签页的多页面切换

QTabWidget 用来分页显示 重要函数: 1.void setTabText(int, QString); //设置页面的名字. 2.void setTabToolTip(QString); //设置页面的提示信息. 3.void setTabEnabled(bool); //设置页面是否被激活. 4.void setTabPosition(QTabPosition::South); //设置页面名字的位置. 5.…

游标卡尺的使用

游标卡尺的使用注意事项 游标卡尺是比较精密的测量工具&#xff0c;使用时应轻拿轻放&#xff0c;不得碰撞或跌落地下。使用时不要用来测量粗糙的物体&#xff0c;以免损坏量爪。不用时应置于干燥地方防止锈蚀。测量工件时&#xff0c;卡脚测量面必须与工件的表面平行或垂直&a…

1915_开源C语言实现的通用队列

经常在工作中遇到一些队列处理的场景&#xff0c;以前要么是借用FreeRTOS这样的系统中的相关功能&#xff0c;要么是通过数组做一个简单的队列模型。但是&#xff0c;这两种方案都具有一定的局限性能&#xff0c;前者要求的FreeRTOS不见得相应的软件中有&#xff0c;而后者只能…

【C++】什么是模板?

有不懂的地方可以翻阅我之前文章&#xff01; 个人主页&#xff1a;CSDN_小八哥向前冲 所属专栏&#xff1a;CSDN_C入门 目录 模板函数 泛型编程 函数模板 类模板 模板函数 泛型编程 在之前的学习里&#xff0c;我们知道函数可以重载&#xff0c;当我们在实现多参数函数交…

【2.2】回溯算法-解含有重复数字的全排列 II

一、题目 给定一个可包含 重复数字 的序列nums&#xff0c;按任意顺序返回所有不重复的全排列。 二、求解思路及代码实现 回溯算法思路&#xff1a; 这道题目与之前讨论的全排列问题类似&#xff0c;但有一个关键的区别&#xff1a;本题中数组包含重复的数字&#xff0c;而之前…

Springboot集成Proguard生成混淆jar包

背景 当我们需要将 JAR 包交付给第三方时&#xff0c;常常担心代码可能会被反编译。因此&#xff0c;对 JAR 包进行混淆处理显得尤为重要。 市面上有许多 JAR 包源码混淆工具&#xff0c;但真正能稳定投入使用的并不多。例如&#xff0c;ClassFinal (ClassFinal: Java字节码加…

C++类和对象1

一.类的定义 1.1类的创建 类是C中用户自己建立的类型。类似于C语言中的结构体。定义类的关键字为class。格式为&#xff1a; class 类名 {成员函数成员变量…… }; class 类名称为类头&#xff0c;花括号中的称为类体。类的声明以花括号后的分号结束&#xff0c;分号不可省…

Go-Zero微服务框架下开发接口流程

目录 一&#xff1a;定义api入参和返回值 二&#xff1a;生成入参和返回值文件 三&#xff1a;定义rpc参数和返回值 四&#xff1a;生成返回值和参数 五&#xff1a;定义数据库 六&#xff1a;生成数据库文件 今天我们来讲解下如何在Go-Zero下开发一个api接口的具体流程&…

UCOSIII内存管理机制详解

目录 前言 1. 内存管理概述 2. 内存区域&#xff08;存储区&#xff09;和内存块 3. 存储区控制块&#xff08;OS_MEM&#xff09; 4. 内存管理函数 5. 内存碎片问题 6. 注意事项 7.代码实现 7.1创建内存区域 7.2申请内存 7.3释放内存 前言 UCOSIII&#xff08;即Mi…

算法的学习笔记—正则表达式匹配的动态规划算法解析

&#x1f600;前言 正则表达式是一种强大的工具&#xff0c;广泛应用于文本匹配和处理。在许多编程任务中&#xff0c;我们可能会遇到需要匹配字符串与某个特定模式的情况。本文将介绍如何使用动态规划算法实现一个支持 . 和 * 的正则表达式匹配功能&#xff0c;并以 Java 为例…

中科院TOP“灌水神刊”合集!年发文量动辄数千篇,TOP的地位,4区的录用率!

【SciencePub学术】本期&#xff0c;给大家推荐几本环境领域的“灌水神刊”&#xff01;均隶属于中科院TOP刊之列&#xff0c;但是每年庞大的发文量致使投稿接收率极高&#xff01;话不多说&#xff0c;想“灌水”的建议收藏&#xff01; 01 年刊文量4000 Journal of Cleaner …

【C++】---红黑树详解

【C】---红黑树详解 一、什么是红黑树&#xff1f;1、概念2、性质3、四个规则 二、红黑树的定义1、红黑树 结点 定义&#xff08;1&#xff09;将新插入的结点 设置为黑色&#xff08;2&#xff09;将新插入的结点 设置为红色 2、红黑树的定义 三、红黑树插入1、插入节点2、控制…

Zabbix自动导出PDF报告

zabbix6提供了定时导出PDF报告功能。此功能可按照Dashboard维度&#xff0c;定时自动导出报告&#xff0c;并通过邮件发送。 1.安装 zabbix 提供了官方的rhel8版本的rpm包&#xff0c;可使用yum方式安装&#xff0c;zabbix自动导出PDF功能是基于go环境的zabbix web service程…

应用方案 | 低功耗接地故障控制器D4145

一、概述 D4145 是一个接地故障断路器。它能够检测到不良的接地条件&#xff0c;譬如装置接触到水时&#xff0c;它会在有害或致命的电击发生之前将电路断开。 D4145能检测并保护从火线到地线,从零线到地线的故障.这种简单而传统的电路设计能够确保其应用自如和长时间的可靠性。…

Vue3+Echarts+Setup实现动态曲线堆叠图+图例分页

提前安装引入echarts 效果图 dom实例 <div id"rightCharterwang" style"height: 28vh"></div> 配置项&#xff0c;将数据换成从接口请求回来的数据&#xff08;这里是写死的假数据&#xff09; const rightCharterwang () > {let named…