OpenAI Completions API — Complete Guide(openai api endpoint url)
I. 获得OpenAI API密钥
A. 打开OpenAI官方网站并注册账号
要开始使用OpenAI API,您需要打开OpenAI官方网站并注册一个账号。访问官方网站时,请依照提供的说明和步骤创建一个新的账号。
B. 登录OpenAI官方网站并获得API密钥
一旦您完成了注册,现在可使用您的注册凭据登录到OpenAI官方网站。登录后,您将能够在您的帐户设置页面中找到您的API密钥。确保将此密钥存储在安全且仅您可访问的位置,以便在使用API时进行身份验证。
II. 使用API Endpoint URL实现项目
A. 编写代码
1. 使用PHP语言编写代码示例
下面是使用PHP编写的示例代码,用于演示怎样调用OpenAI API。在代码中,我们将声明API密钥和Endpoint URL,这样我们就能够使用它们来访问API。
<?php
$openai_key = 'YOUR_API_KEY';
$endpoint = 'API_ENDPOINT_URL';
// 在此处添加与API交互的代码逻辑
?>
B. OpenAI API Endpoint URL
探索OpenAI的区别API接口Endpoint URL,根据您的项目需求选择适合的接口。
- 完成补全内容的Endpoint:用于生成给定提示的补全内容的Endpoint。
- 智能助手接口Endpoint:用于进行个性化互动的Endpoint,将OpenAI模型作为对话火伴。
C. API响应对象
了解API响应对象的结构对正确处理API返回的数据非常重要。
API响应对象包括非流式和流式响应对象的共享结构。了解这些结构可以帮助您解析并提取您需要的信息。
D. 正确的Endpoint URL
肯定使用正确的Endpoint URL是非常重要的。您可以参考OpenAI的文档和资源,以确保您调用的是符合要求的API接口。
E. OpenAI文档和资源
了解如何利用OpenAI的文档和资源,以掌握怎样使用API。
- 资源:探索各种资源,教程和示例代码,以帮助您更好地理解和使用API。
- 教程:深入了解API的使用方法,并根据您的项目需求进行相应的配置和操作。
- API文档:详细指南,包括API的所有端点,参数和返回类型的描写。
- 动态示例:与其他开发人员一起分享和学习使用API的最好实践和技能。
F. OpenAI账号和API密钥
注册OpenAI账号并获得API密钥是使用API的先决条件。
注册账号后,您将能够获得API密钥,这样您就能够使用该密钥来访问API的Endpoint URL。
G. 参数和配置
通过配置参数和选项,您可以影响API的输出结果。
温度和top_p参数是两个经常使用的参数,它们用于控制补全内容的一致性和随机性。温度参数用于调剂结果的多样性,而top_p参数用于过滤结果的可能性。
H. Answers Endpoint URL
Answers Endpoint通过接受HTTP POST要求和输入参数,用于获得API的答案。
正确的Answers Endpoint URL是https://api.openai.com/v1/answers。确保在发送要求时使用正确的URL和所需的参数。
openai api endpoint url的进一步展开说明
Introduction
OpenAI的Completion API是最基础的OpenAI模型,提供了一个简单而灵活的接口,非常强大。您给它一个提示,它会根据您的唆使生成一段文本完成。您可以将其视为非常高级的自动完成,语言模型处理您的文本提示,并尝试预测接下来最有可能出现的内容。
虽然用法简单,但Completion API也非常可定制,并暴露了各种参数,可以用于影响生成完成的方式(好坏皆有可能)。
本指南会通过实例详细解释所有参数。浏览本指南后,您将对Completion API有更深入的了解,并能够在OpenAI APIs的平常工作中实际利用这些知识。
在本文的示例中,我会使用Postman发送HTTP要求。我建议您也使用Postman,但您也能够使用任何HTTP客户端跟随操作。您还可以在OpenAI游乐场中生成和自定义文本完成,或在OpenAI的JavaScript沙盒中生成和自定义代码完成。
虽然我将使用Postman发送要求,但我已编写了一份关于怎样在JavaScript项目中集成OpenAI APIs的指南:
另外,关于该指南的视频可以在YouTube上观看:
Completion基础知识
了解完成的最好方式是生成他们。我们将看看我们需要发送的要求,发送要求的位置和响应是甚么样的。我将从最简单的要求开始,然后逐渐构建。
基本的完成要求
要发送要求到完成端点,我们需要在Postman中创建一个集合,其中包括OpenAI要求(您实际上不需要这样做,但整洁会有好处)。我将它命名为“OpenAI APIs”。
现在让我们为全部集合添加授权方案:
别忘了按Ctrl + S保存。您可以通过转到OpenAI个人资料,选择“查看API密钥”来获得API密钥令牌,该操作将导航到:https://platform.openai.com/account/api-keys。
一定要将密钥保存在您的密码管理器或其他安全位置,由于OpenAI将不再允许您查看API密钥。如果丢失了密钥,您将不能不生成一个新的密钥。
完成端点可在https://api.openai.com/v1/completions访问,并接受带有JSON有效负载和Bearer令牌授权的POST要求。
以下是您的Postman要求的设置方式:
要求主体一定要是原始的JSON:
以下是用根据人气的cURL格式的要求:
curl –location ‘https://api.openai.com/v1/completions’ –header ‘Authorization: Bearer API_KEY’ –header ‘Content-Type: application/json’ –data ‘{ “model”: “text-davinci-003” }’
因此,我们一定要发送Authorization头,否则我们将收到401 Unauthorized响应,并且Content-Type一定要设置为application/json以唆使我们正在发送JSON负载。在负载中,要求主体是一个JSON对象,最少包括模型参数,该参数表示用于生成完成的语言模型的标识符。
在撰写本文时,”text-davinci-003″是GPT⑶系列中的最新完型模型。它还支持在文本中插入完型,其他模型则不支持。我将选择 “text-davinci-003″。如果OpenAI推荐其他模型,您可以选择其他模型。
您可以在这里找到所有OpenAI语言模型的列表:https://platform.openai.com/docs/models/gpt⑶⑸
现在,您可以尝试发送要求,您应当会收到200 OK响应。由于我们没有发送提示,所以您将收到一些随机文本,不要介意这个完成。
完成响应
让我们来看一个完成的响应:
{ “id”: “cmpl⑹upcTCWlFVl8J8pZnSyn1HIDw8wU8”, “object”: “text_completion”, “created”: 1679002813, “model”: “text-davinci-003”, “choices”: [ { “text”: “READ MORE 50% Off Freejobalerts Coupon more Freejobal”, “index”: 0, “logprobs”: null, “finish_reason”: “length” } ], “usage”: { “prompt_tokens”: 1, “completion_tokens”: 16, “total_tokens”: 17 } }
这是一个JSON响应,包括id、object、created、model、choices和usage等属性。最重要的属性是choices,由于它包括完成内容,而其他属性只是元数据。
id – 表示响应的唯一标识符,在需要跟踪响应时非常有用。
object – 表示响应类型,在这类情况下是 “text_completion”,但如果调用区别端点(例如Edit端点),则对象将是 “edit”。
created – 表示生成响应的UNIX时间戳,即日期和时间。
model – 表示用于生成响应的OpenAI模型,在这类情况下是 “text-davinci-003″,或您选择的其他模型。
choices – 表示完成对象的集合。
usage – 表示此次完成使用的标记数量。
choices属性是最重要的,由于它包括完成的实际数据,或可能包括多个完成的数据:
// 完成响应对象
{
“text”: “READ MORE 50% Off Freejobalerts Coupon more Freejobal”,
“index”: 0,
“logprobs”: null,
“finish_reason”: “length”
}
让我们对完成对象中的每一个属性进行解释:
text – 实际的完成文本。
index – 完成在choices数组中的索引。
logprobs – 这是一种可选的logprobs数组,表示已斟酌的用于完成的备选标记的对数几率。
finish_reason – 表示语言模型停止生成文本的缘由。最多见的缘由是 “stop”(表示成功生成完成)和 “length”(表示语言模型在能够完成之前用完了标记)。
这是一个只包括基本要求参数的简单完成。我已解释了几近所有的响应属性,但有些属性是null,由于它们需要定义特定的参数,例如logprobs响应属性需要定义log_probs要求参数。
令牌的最大数量和令牌消耗
OpenAI按使用的令牌数量计费。这意味着,如果您不仔细计划您的提示并设置最大令牌限制,您很快就会消耗完您的OpenAI令牌。因此,重要的是根据需要构建完成提示,并设置令牌的限制。Completion返回的任何过剩信息都是会浪费令牌的废物。
为此,OpenAI提供了一个简单的机制,用于限制完成可以返回的令牌数。这叫做”max_tokens”,它是一个要求体参数。简单地说,该参数限制了完成可使用的最大令牌数。如果完成文本不能放入最大令牌数量内,它将被截断,并且finish_reason属性将设置为 “length”,表示的确是提早截断完成:
// 无效的完成响应(超越了最大令牌大小)
{
…
“finish_reason”: “length”
}
让我们看看这个参数的作用。我将使用一个公道大小的”max_tokens”参数来要求OpenAI解释JavaScript对象,这肯定会占用大量的令牌。让我们首先使用”max_tokens”参数为1024令牌:
// 公道大小的”max_tokens”参数的完成要求
{
“model”: “text-davinci-003”,
“prompt”: “Explain JavaScript objects.”,
“max_tokens”: 1024
}
完成应当正常结束,”finish_reason”应当是 “stop”:
// 不超过max_tokens大小的完成响应
{
…
“choices”: [
{
“text”: “JavaScript objects are data structures used to store, retrieve, and manipulate data.”,
…
“finish_reason”: “stop”
}
],
“usage”: {
“prompt_tokens”: 5,
“completion_tokens”: 61,
“total_tokens”: 66
}
}
这还不错,但是如果我们想用不到30个令牌的方式来解释JavaScript对象会怎样?这类情况下,我们可以将”max_token”参数设置为30:
// max_tokens为较小值的完成要求
{
“model”: “text-davinci-003”,
“prompt”: “Explain JavaScript objects.”,
“max_tokens”: 30
}
完成极可能没法适应30个令牌的限制,所以”finish_reason”将是 “length”:
// 超越最大令牌大小的完成响应
{
…
“choices”: [
{
“text”: “JavaScript objects are collections”,
…
“finish_reason”: “length”
}
],
“usage”: {
“prompt_tokens”: 5,
“completion_tokens”: 30,
“total_tokens”: 35
}
}
这不好,但是我们可以通过在提示本身中指定令牌限制来使其正常工作。这样,语言模型将知道完成大小限制,并尽力保持在该限制内:
// 正肯定义在提示中的标记限制的完成要求
{
“model”: “text-davinci-003”,
“prompt”: “Explain JavaScript objects in 30 or less tokens.”,
“max_tokens”: 30
}
这个完成将会成功生成,并且不会超越最大令牌大小:
// 由于在提示中进行了定义,不超过最大令牌大小的完成响应
{
…
“choices”: [
{
“text”: “Objects are data types that store collections of key/value pairs.”,
…
“finish_reason”: “stop”
}
],
“usage”: {
“prompt_tokens”: 10,
“completion_tokens”: 10,
“total_tokens”: 20
}
}
这样就能够了。因此,从这篇文章的教训是,您可使用”max_tokens”要求参数来限制标记使用量,并且您也能够在提示中指定完成束缚。
温度和最好几率
当生成完成时,语言模型会创建一系列标记,并选择可能性最高的标记。OpenAI Completion API公然了两个参数:”temperature”和 “top_p”,可以用于影响完成结果的一致性或随机性。
温度
温度影响完成的随机性或肯定性程度。因此,如果您想要更有创意的答案,可以将此属性设置为大于0.8的值;而如果您
openai api endpoint url的常见问答Q&A
问题1:Golang/Python 调用 openAI 的API 详解_田猿笔记的博客-CS… 是关于甚么?
答案:《Golang/Python 调用 openAI 的API 详解_田猿笔记的博客-CS…》是一篇关于使用Golang或Python调用openAI API的文章。该文章解释了怎样使用这两种编程语言调用openAI API来实现自然语言处理和智能对话的功能。
该文章包括以下关键信息:
- 如何获得openAI API密钥。
- 怎样使用Golang或Python编写代码来调用openAI API。
- 怎样使用openAI API来完成自然语言处理任务。
问题2:怎样使用PHP对接OpenAI接口?
答案:对接OpenAI接口的PHP代码以下:
<?php
$openai_key = 'YOUR_API_KEY';
$endpoint = 'https://api.openai.com/v1/completions';
$ch = curl_init($endpoint);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $openai_key,
'Content-Type: application/json'
]);
$data = [
'prompt' => 'Your prompt text here',
'max_tokens' => 100
];
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$response = curl_exec($ch);
if ($response === false) {
echo 'Error: ' . curl_error($ch);
} else {
echo 'Response: ' . $response;
}
curl_close($ch);
?>
以上代码示例演示了怎样使用PHP对接OpenAI接口。您需要将YOUR_API_KEY
替换为您自己的OpenAI API密钥,并使用$endpoint
和$data
变量设置API要求的URL和参数。然后,使用curl函数发送POST要求,并将返回的响应打印出来。
问题3:OpenAI API有哪几种经常使用的端点(Endpoints)?
答案:OpenAI API有多个经常使用的端点(Endpoints),包括:
- Completions(https://api.openai.com/v1/completions):根据给定的提示(prompt),生成一段文字的补全。
- Answers(https://api.openai.com/v1/answers):回答关于给定文本的问题。
- Classification(https://api.openai.com/v1/classifications):根据给定的文本,将其分类到预定义的种别。
- Chat(https://api.openai.com/v1/chat/completions):进行模型驱动的对话,让用户和模型进行交互。
- 等等
这些经常使用的端点(Endpoints)提供了各种功能的API调用,可以根据具体的需求选择相应的端点来实现区别的自然语言处理功能。
问题4:如何获得OpenAI API密钥?
答案:要获得OpenAI API密钥,您可以依照以下步骤进行:
- 访问OpenAI的官方网站并注册一个账号。
- 登录到OpenAI官方网站,并打开API页面。
- 在API页面中,您将找到有关如何获得API密钥的详细说明。依照指引完成相应的操作便可。
一旦您成功注册并获得了OpenAI API密钥,您就能够在自己的利用程序中使用该密钥来调用OpenAI API实现自然语言处理和智能对话的功能。