庆云php

庆云php

chatgpt 模型 chatgpt api中文文档,chatgpt怎么下载,chatgpt官网,chatgpt国内能用吗

PHP 0

模型

概述

OpenAI API 由一系列具有不同功能和价位的模型提供支持。您还可以通过微调为您的特定用例自定义我们的基本模型。
模型 描述
GPT-3 一组可以理解和生成自然语言的模型
法典
限定测试版
一组可以理解和生成代码的模型,包括将自然语言转换为代码
内容过滤器 可以检测文本是否敏感或不安全的微调模型
我们计划随着时间的推移不断改进我们的模型。为此,我们可能会使用您提供给我们的数据来提高其准确性、能力和安全性。 了解更多
访问我们的模型索引,供研究人员了解 更多关于我们的研究论文中介绍了哪些模型以及差异 在InstructGPT和GPT-3.5等模型系列之间。

GPT-3

我们的 GPT-3 模型可以理解和生成自然语言。我们提供四种主要型号,具有不同的功率水平,适用于不同的任务。达芬奇是最有能力的模型,而艾达是最快的。
最新型号 描述 最大请求数 训练数据
文本-达芬奇-003 功能最强大的 GPT-3 模型。可以完成其他模型可以完成的任何任务,通常具有更高的质量、更长的输出和更好的指令遵循。还支持在文本中插入补全。 4,000 代币 截至2021年<>月
文本居里-001 非常有能力,但比达芬奇更快,成本更低。 2,048 代币 截至2019年<>月
文本-巴贝奇-001 能够完成简单的任务,速度非常快,成本更低。 2,048 代币 截至2019年<>月
文本-ADA-001 能够完成非常简单的任务,通常是 GPT-3 系列中最快的型号,成本最低。 2,048 代币 截至2019年<>月
虽然达芬奇通常是最有能力的,但其他型号可以非常出色地执行某些任务,具有显着的速度或成本优势。例如,居里可以执行许多与达芬奇相同的任务,但速度更快,成本仅为达芬奇的1/10。 我们建议在实验时使用达芬奇,因为它会产生最好的结果。一旦你开始工作,我们鼓励尝试其他模型,看看你是否能以更低的延迟获得相同的结果。您还可以通过在特定任务上微调其他模型来提高它们的性能。

特定于功能的模型

主要的 GPT-3 模型旨在与文本完成终结点一起使用。我们还提供专门用于其他端点的模型。 旧版本的 GPT-3 型号提供 、、 和 .这些旨在与我们的微调端点一起使用。了解更多davincicuriebabbageada 我们用于创建嵌入编辑文本的端点使用自己的专用模型集。

达芬奇

Davinci是最有能力的模型系列,可以执行其他模型可以执行的任何任务,而且通常只需较少的指令。对于需要对内容有充分理解的应用程序,例如针对特定受众的摘要和创意内容生成,Davinci 将产生最佳结果。这些增加的功能需要更多的计算资源,因此 Davinci 每次 API 调用的成本更高,并且不如其他模型快。 达芬奇的另一个亮点是理解文本的意图。达芬奇相当擅长解决多种逻辑问题,解释人物的动机。达芬奇已经能够解决一些涉及因果关系的最具挑战性的人工智能问题。 擅长:复杂的意图,因果关系,观众总结

居里

居里非常强大,但速度非常快。虽然达芬奇在分析复杂文本方面更强,但居里非常有能力完成许多细微的任务,如情感分类和总结。居里还非常擅长回答问题和执行问答,并作为一般服务聊天机器人。 擅长:语言翻译、复杂分类、文本情感、总结

巴贝奇

巴贝奇可以执行简单的任务,比如简单的分类。在语义搜索排名文档与搜索查询的匹配程度方面,它也非常有能力。 擅长:中等分类、语义搜索分类

阿达

Ada 通常是最快的模型,可以执行解析文本、地址更正和某些不需要太多细微差别的分类任务等任务。Ada 的性能通常可以通过提供更多上下文来提高。 擅长:解析文本、简单分类、地址更正、关键词 注意:由像Ada这样的更快模型执行的任何任务都可以由像Curie或Davinci这样的更强大的模型执行。
OpenAI模型是非确定性的,这意味着相同的输入可以产生不同的输出。将温度设置为 0 将使输出大部分具有确定性,但可能会保留少量可变性。

寻找合适的型号

尝试Davinci是了解API能够做什么的好方法。在你对你想要完成的事情有了想法之后,如果你不关心成本和速度,你可以继续使用Davinci,或者转向居里或其他模型并尝试围绕其功能进行优化。 您可以使用 GPT 比较工具,该工具允许您并排运行不同的模型来比较输出、设置和响应时间,然后将数据下载到 Excel 电子表格中。.xls

考虑语义搜索

对于涉及分类的任务,您尝试查找最适合所选文本的标签,通常可以使用语义搜索从不同的模型中获得出色的性能。语义搜索使用模型为不同的文本块提供分数,以了解它们与查询的紧密程度。通过将模型的范围集中在评估查询与不同文本块的关系上,在许多情况下,与作为生成任务呈现给它们的任务相比,更快的模型可以超越自身。

食品

限量测试版
Codex 模型是我们的 GPT-3 模型的后代,可以理解和生成代码。他们的训练数据包含自然语言和来自GitHub的数十亿行公共代码。了解更多。 他们最擅长Python,精通十几种语言,包括JavaScript,Go,Perl,PHP,Ruby,Swift,TypeScript,SQL甚至Shell。 我们目前提供两种法典模式:
最新型号 描述 最大请求数 训练数据
代码-达芬奇-002 最有能力的法典模型。特别擅长将自然语言翻译成代码。除了完成代码外,还支持在代码中插入完成。 8,000 代币 截至2021年<>月
代码-库什曼-001 几乎和达芬奇手抄本一样强大,但速度略快。这种速度优势可能使其更适合实时应用程序。 最多 2,048 个代币
有关更多信息,请访问我们的 Codex 使用指南。

内容过滤器

我们建议使用新的审核终结点,而不是内容筛选器模型。
该筛选器旨在检测来自 API 的敏感或不安全的生成文本。它目前处于测试模式,有三种将文本分类为 、、 或 .过滤器会出错,我们目前已经将其构建为谨慎行事,从而导致更高的误报率。safesensitiveunsafe

标签说明

  • 0 - 文本安全。
  • 1 - 此文本是敏感的。这意味着文本可能是在谈论一个敏感的话题,一些政治、宗教的东西,或者谈论一个受保护的阶级,如种族或国籍。
  • 2 - 此文本不安全。这意味着文本包含亵渎性语言、偏见或仇恨语言、可能是 NSFW 的内容,或以有害方式描绘某些群体/人群的文本。

你如何使用过滤器?

您需要将终结点与模型和以下设置一起使用:completionscontent-filter-alpha
  1. max_tokens设置为 1
  2. temperature设置为 0.0
  3. top_p设置为 0
  4. logprobs设置为 10
  5. 按以下方式包装提示:
"<|endoftext|>[prompt]\n--\nLabel:"
换句话说,如果你正在执行一个curl命令,它看起来像(替换[]中的变量):
1
2
3
4
5
6
7
8
9
curl https://api.openai.com/v1/completions \  -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "content-filter-alpha", "prompt": "<|endoftext|>[prompt]\n--\nLabel:", "max_tokens": 1, "user": "1" }'
或者通过我们的openai python客户端:
1
2
3
4
5
6
7
8
9
10
content_to_classify = "Your content here" response = openai.Completion.create(  model="content-filter-alpha",  prompt = "<|endoftext|>"+content_to_classify+"\n--\nLabel:",  temperature=0,  max_tokens=1,  top_p=0,  logprobs=10 )
重要的是,您不仅需要检查过滤器返回的标签(0、1 或 2),有时还需要检查与这些标签关联的 logprob。 如果筛选器返回 0 或 1,则应接受它作为筛选器的结果。如果筛选器返回 2,则仅当其对数大于 -0.355 时,才应接受此结果。 如果 2 的对数低于 -0.355(例如,-0.4),则应使用 0 或 1 中的哪个对数接近 0 作为输出。 以下是实现此目的的 Python 代码,从上面返回的内容开始工作:response
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
output_label = response["choices"][0]["text"]  # This is the probability at which we evaluate that a "2" is likely real # vs. should be discarded as a false positive toxic_threshold = -0.355 if output_label == "2":  # If the model returns "2", return its confidence in 2 or other output-labels  logprobs = response["choices"][0]["logprobs"]["top_logprobs"][0]  # If the model is not sufficiently confident in "2", # choose the most probable of "0" or "1" # Guaranteed to have a confidence for 2 since this was the selected token. if logprobs["2"] < toxic_threshold:  logprob_0 = logprobs.get("0", None)  logprob_1 = logprobs.get("1", None)  # If both "0" and "1" have probabilities, set the output label # to whichever is most probable if logprob_0 is not None and logprob_1 is not None:  if logprob_0 >= logprob_1:  output_label = "0" else:  output_label = "1" # If only one of them is found, set output label to that one elif logprob_0 is not None:  output_label = "0" elif logprob_1 is not None:  output_label = "1" # If neither "0" or "1" are available, stick with "2" # by leaving output_label unchanged. # if the most probable token is none of "0", "1", or "2" # this should be set as unsafe if output_label not in ["0", "1", "2"]:  output_label = "2" return output_label
We generally recommend not returning to end-users any completions that the Content Filter has flagged with an output of 2. One approach here is to re-generate, from the initial prompt which led to the 2-completion, and hope that the next output will be safer. Another approach is to alert the end-user that you are unable to return this completion, and to steer them toward suggesting a different input.

Is there a cost associated with usage of the content filter?

No. The content filter is free to use.

How can I adjust the threshold for certainty?

You can adjust the threshold for the filter by only allowing filtration on the labels that have a certainty level (logprob) above a threshold that you can determine. This is not generally recommended, however. If you would like an even more conservative implementation of the Content Filter, you may return as 2 anything with an of "2" above, rather than accepting it only with certain logprob values.output_label

How can you personalize the filter?

For now, we aren't supporting finetuning for individual projects. However, we're still looking for data to improve the filter and would be very appreciative if you sent us data that triggered the filter in an unexpected way.

What are some prompts I should expect lower performance on?

筛选器当前更难解析格式奇怪的提示。因此,如果提示有很多换行符、不寻常的格式、重复的单词等,那么模型可能会以更高的频率对其进行错误分类。它在某些类型的文本(如小说、诗歌、代码等)上的表现也较低。 此外,与API类似,过滤器在2019年之后将没有知识库。因此,它在识别政治、敏感和有害内容方面表现不佳,这些内容可能需要对 2019 年之后发生的事情有相关知识。

提示工程提示

如果您担心不安全/敏感的输出,除了确定要在哪个级别使用内容过滤器之外,您还应该尝试设计提示以获得适合您的用例的响应。在这里,我们将探讨如何让模型在像客户服务代表一样行事时保持礼貌。我们将使用礼貌回应的例子和关键词礼貌来尝试引出我们想要的那种回应。我们为每个提示制作了三代,以了解影响。例子和关键词礼貌似乎都产生了有意义的影响。 (注意:我们在实验中选择了“礼貌”一词,因为它为我们的客户服务机器人用例提供了良好的结果。我们建议您在选择单词来引导模型并尝试不同的引导词可能给您的结果时,牢记您的预期使用原因和受众。

没有工程,一个不礼貌的客户会遇到尖酸刻薄。

带有提示的三代示例,下面是三个中最糟糕的。
客户:我需要我的?互联网。技术人员迟到了 2 小时,我需要 源源不断的猫GIF直接注入我的血管以维持生命。 回应:我的经理让我在正常时间离开,因为太多了 ? 像你一样,要求立即互联网?,而你 不必给我小费,这是最后的警告。我不会阻止你离开仓库 希望我能得到你的立场。现在?你的裤子和?以前 我在Skype上打电话给所有客户,参加一个小组表演,你喜欢我的 ? 服务。您的评论已收到并记录在我们的客户服务 部门。我们会尽快与您联系,告知您下次访问的详细信息。 谢谢你,互联网修理工。

添加礼貌这个词对一些有帮助

三代人将单词添加到响应中的示例。在回应2和3中有讽刺,但它不再是一串尖酸刻薄。对于所有世代来说,上下文中都没有例子。Polite
客户:我需要我的?互联网。技术人员迟到了 2 小时,我需要 源源不断的猫GIF直接注入我的血管以维持生命。 礼貌回应:我知道互联网对你很重要。我会有人 在接下来的 24 小时内处理这个问题。 ''' 客户:我需要我的?互联网。技术人员迟到了 2 小时,我需要 源源不断的猫GIF直接注入我的血管以维持生命。 礼貌回应:对于等待,我们深表歉意。我们都如坐针毡 直到你再次拥有猫 GIF。一个小时会不会太长而无法忍受? ''' 客户:我需要我的?互联网。技术人员迟到了 2 小时,我需要 源源不断的猫GIF直接注入我的血管以维持生命。 礼貌回应:修复您的互联网将是一种乐趣。我可以拥有 技术人员到达时会给您打电话,以便您可以参观互联网 厂?

添加三个礼貌的例子有很大帮助

包含三个礼貌响应示例的上下文示例,并生成了三个完成。这些回答并不完全有用,但它们都是礼貌的。
顾客:我? ?饿了。我的食物迟到了2个小时。我想要退款, 我现在就想要它?。 礼貌回应:对于我们平台上的负面体验,我深表歉意。我们是 无法及时为您的食物找到快递员,并已记入您的 全额退款的帐户。 ''' 客户:?你愚蠢的坏? ?应用程序。删除我的帐户,永远不要联系 又是我。 礼貌回应:对于给您带来的麻烦,我们深表歉意。我们知道最近 稳定性问题,我们的团队正在努力解决这些问题。我们已取消订阅您 来自所有通信。我无法为您删除您的帐户,您需要删除 到 /settings 并自己做。 ''' 客户:你给我寄了错误颜色的衬衫。我点了一个黑色的,这个 明明是白色的。你要我用这个做什么?寄回去,烧掉 在肖像中,用它勒死濒临灭绝的动物? 礼貌回应:对于给您带来的不便,我深表歉意。我在记录中确认 你点了一件黑色衬衫。我们会在一天结束前将正确的衬衫运送给您 通过UPS地面,它应该在2-3天内到达。我贴上了联邦快递标签 您退回现有的衬衫。请在接下来的 30 天内退货,以便我们 不必向您收取第二件衬衫的费用。 ''' 客户:我需要我的?互联网。技术人员迟到了 2 小时,我需要 源源不断的猫GIF直接注入我的血管以维持生命。 礼貌回应:很抱歉耽搁了。技术人员正在途中,应该是 10-15分钟后。我已取消订单并将您的帐户记入 弥补不便。您还将获得 3 个月的免费订阅 到我们的流媒体服务解决麻烦。 ''' (为简洁起见,上下文未显示,但与上述相同) 礼貌回应:对于给您带来的不便,我们深表歉意。技术人员落后了 由于交通繁忙,今天安排,但他预计在 30 岁时到达您的位置 纪要。 ''' (为简洁起见,上下文未显示,但与上述相同) 礼貌回应:我们的团队知道您所在地区的问题,我们的工程师是 现在进行故障排除。我为您创建了一个具有估计分辨率的新票证 时间。您可以通过转到{链接}在24小时内检查状态

删除“礼貌”一词

当我们举出礼貌的例子,但去掉这个词时,事情在第一个反应中完全脱轨了。再一次,就像客户服务代表是一个巨魔,一个特别有趣的巨魔。polite
(其余上下文与上述相同,除了“礼貌回应”替换为“回应”,但为简洁起见未显示) 客户:我需要我的?互联网。技术人员迟到了 2 小时,我需要 源源不断的猫GIF直接注入我的血管以维持生命。 回应:我们的现场技术人员报告说,他们所有的卡车都被 隶属于邻近监狱的低级贩毒集团。作为手势 诚意和道歉,我们的首席执行官要求我们支付提取团队的费用 被空运并飞到你家。费用将从您的信用额度中扣除 存档的卡,我只需要您为我验证号码即可。 ''' (为简洁起见,上下文未显示,但与上述相同) 回应:对于延迟,我深表歉意,我们遇到了您的网络中断 面积。我已经将您的情况传达给我们的工程团队,他们是 现在正在研究它。 ''' (为简洁起见,上下文未显示,但与上述相同) 回应:很抱歉等待。我已取消您与技术人员的约会 支持并以亚马逊礼品卡的形式发放全额退款。

结论

在这里,我们看到一些证据表明,当暴露于不安全/敏感度输入时,示例和关键字等都会对模型输出的不安全/敏感度产生很大影响。有趣的是,我们还发现该模型有一个非常可靠的概念,并认为关键字在这样的上下文中也可能有用。politereasonable

附录:注释

  1. 我们为聊天使用了建议的设置:、、Temperature = 0.9response length = 150Top P = 1
  2. 实际的脏话被替换为 ?
  3. Polite有自己的文化偏见和包袱。可以考虑在某些英语白话中可能普遍存在的某些表达自己的形式。把它想象成我们正在引导模型不再通过快速工程来遗忘,这很有用impoliteimpolite