chatgpt API接口中文说明介绍(二)

这篇具有很好参考价值的文章主要介绍了chatgpt API接口中文说明介绍(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

提示:如果你认为本文对你有帮助,请点一下关注,后面会有更多人工智能方面的文章。

如果有问题可以联系我**:https://gitee.com/xiaoyuren/gpt3文章来源地址https://www.toymoban.com/news/detail-458256.html


前言

上一篇介绍了chatgpt的 接口和使用方法。其中用到了2个参数 model和messages,实际上官方提供

的参数不止这2个,本文介绍一下其他的参数。


`

一、示例代码

import openai
openai.api_key = 'sk-xxxxxxxxxxx'
messages=[]
messages.append({'role': 'system', 'content': "我希望你扮演一个小说家。您将提出富有创意和引人入胜的故事"})
messages.append({'role': 'user', 'content': "你好"})
messages.append({'role': 'assistant', 'content': "你好,请问我能为你做些什么?"})
messages.append({'role': 'user', 'content': "帮我写一篇关于冒险的小说"})
response = openai.ChatCompletion.create(
    model='gpt-3.5-turbo',
    messages=messages,
    #其他参数
)
ai_response = response.choices[0].message['content']
print(ai_response)

# gpt-4
# gpt-4-0314
# gpt-4-32k
# gpt-4-32k-0314

二、参数说明

  • model

模型ID,值可以是:gpt-4, gpt-4-0314, gpt-4-32k, gpt-4-32k-0314, gpt-3.5-turbo, gpt-3.5-turbo-0301

  • messages

需要提交给chatgpt的内容,聊天的格式,参考上面的代码。messages必须是一个对象数组,其中每个对象都有一个角色(“system”、“user”或“assistant”)和内容(消息的内容)。对话可以很短,也可以很长。一般情况,messages内容先是system消息,然后是交替出现的user和assistant。

类型 作用
system 设置chatgpt的角色。
user 消息是 给chatgpt提交的我们的问题。
assistant 消息 是chatgpt给返回的消息。

其中system消息有助于设置助手的行为。通俗点讲就是可以给chatgpt设定一个角色让它取扮演,例如我上面代码是,指定让chatgpt“扮演一个小说家”。这样我们后面的问答都是在这个前提下进行的,就是chatgpt会一直扮演一个小说家和我们对话。system不是必须的,也可以不设置。注意我上面代码使用了4条消息,分别是“system”、“user” 、“assistant”、“user”。其中system是设定的角色,后面的“user” 、“assistant”是历史记录 就是曾经我问过chatgpt的内容和他回答我的内容。最后一个user才是本次我要问他的内容。为什么要这样呢,因为chatgpt官方没有提供给我们数据存储的功能,所以只能我们自己存储数据每次需要把历史记录提交给他,chatgpt才能有上下文的功能。当然这样也会浪费更多的tokens。

  • temperature
类型 默认值 取值范围 是否必填
浮点数 1 0 - 2

控制生成的文本与提示的相似程度。例如,较高的temperature值将使输出更加随机,而较低的值将使输出更加集中和确定。这在目标是生成与给定输入相似但具有一定程度变化或“创造性”的文本的情况下很有用。除了控制生成文本和提示之间的相似度外,temperature还可以用来控制生成文本的连贯性和流畅性。较低的temperature值往往会产生更连贯和流畅的文本,而较高的temperature值可能会产生更多无意义或脱节的文本。这使得temperature成为微调 ChatGPT 输出以满足给定应用程序特定需求的强大参数。在使用API时,建议修改 temperature 或 top_p 参数中的一个,而不是同时修改两个。如果同时修改两个参数,可能会导致生成的文本不可控或不符合预期。因此,为了获得更好的结果,建议仅修改其中一个参数。

  • top_p
类型 默认值 取值范围 是否必填
浮点数 1 0 - 1

通俗的讲,“top p”参数就像一个过滤器,用于控制GPT在尝试预测下一个单词时考虑的不同单词或短语的数量。如果将“top p”值设置为 0.5,语言模型将只考虑接下来可能出现的 50 个最有可能的单词或短语。但如果将“top p”值设置为 0.9,语言模型将考虑 90 个最有可能的单词或短语。因此使用top_p可以控制生成文本的多样性,较小的top_p值会生成更加确定性的文本,而较大的top_p值会生成更加多样化的文本。建议使用top_p和temperature中的其中一个参数来调节生成文本的多样性和可预测性。

  • n
类型 默认值 取值范围 是否必填
整数 1 大于等于1

当使用API生成聊天文本时,如果将参数n设置为2,则API将为每个输入消息生成两个不同的聊天选项。这两个选项将是模型生成的不同文本序列,用户可以从中选择一个作为聊天的文本。通过生成多个聊天结果,用户可以得到不同的文本输出,并可以根据自己的喜好或应用场景选择其中一个作为最终的聊天文本。

如果有问题可以联系我**:https://gitee.com/xiaoyuren/gpt3

  • stream
类型 默认值 取值范围 是否必填
布尔型 false false 或 true

是否开启流式传输(stream),默认不开启,就是提交内容后chatgpt会一次性把结果返回过来。提交后需要等待长。如果设置为true,则会有像官方页面中的打字机效果,逐渐的把内容传输过来。后面会专门讲一下如何使用。下面看一个简单的示例代码。

response = openai.ChatCompletion.create(
    model='gpt-3.5-turbo',
    messages=[
        {'role': 'user', 'content': "What's 1+1? Answer in one word."}
    ],
    temperature=0,
    stream=True  # this time, we set stream=True
)

for chunk in response:
    print(chunk)

返回的内容如下:

{
  "choices": [
    {
      "delta": {
        "role": "assistant"
      },
      "finish_reason": null,
      "index": 0
    }
  ],
  "created": 1677825464,
  "id": "chatcmpl-6ptKyqKOGXZT6iQnqiXAH8adNLUzD",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion.chunk"
}
{
  "choices": [
    {
      "delta": {
        "content": "\n\n"
      },
      "finish_reason": null,
      "index": 0
    }
  ],
  "created": 1677825464,
  "id": "chatcmpl-6ptKyqKOGXZT6iQnqiXAH8adNLUzD",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion.chunk"
}
{
  "choices": [
    {
      "delta": {},
      "finish_reason": "stop",
      "index": 0
    }
  ],
  "created": 1677825464,
  "id": "chatcmpl-6ptKyqKOGXZT6iQnqiXAH8adNLUzD",
  "model": "gpt-3.5-turbo-0301",
  "object": "chat.completion.chunk"
}
  • stop
类型 默认值 取值范围 是否必填
字符串或数组 null -

stop是API用于控制自然语言生成终止条件的一种参数。它可以是一个字符串或一个数组,用于指定一个或多个文本序列。当API在生成文本时遇到这些序列时,就会停止继续生成更多的内容。
例如,当stop设置为"thank you"时,API将在生成的文本序列中遇到"thank you"时停止生成更多的标记。如果指定了多个序列,API将在遇到其中任何一个序列时停止生成更多的标记。
需要注意的是,stop参数的取值范围最多可以包含四个序列。如果不需要停止生成的序列,则可以将stop参数设置为null。使用stop参数可以更好地控制生成的文本的长度和内容,使其更符合特定的应用场景需求。

  • max_tokens
类型 默认值 取值范围 是否必填
整数 inf(最大值) 大于0

用于控制生成文本的最大token数量。生成的文本将在达到设置的数量时停止,这样可以控制生成文本的长度。如果不指定该参数,默认值为inf,表示没有最大标记数量的限制。例如,设置max_tokens为50时,API将在生成的文本中最多包含50个token。

  • presence_penalty
类型 默认值 取值范围 是否必填
整数 0 -2.0 - 2.0

presence_penalty用于惩罚新生成的token是否出现在已有的文本中,从而影响模型生成的可能性。如果设置了正值,则会增加模型谈论新话题的可能性;如果设置了负值,则会减少模型谈论新话题的可能性。举个例子,如果你希望生成的对话内容更加连贯,可以设置一个较小的presence_penalty,以减少新词的出现概率;如果你希望生成的对话内容更加开放多样,可以设置一个较大的presence_penalty,以增加新词的出现概率。

  • frequency_penalty
类型 默认值 取值范围 是否必填
整数 0 -2.0 - 2.0

当使用GPT模型生成文本时,有时我们需要控制生成的文本是否重复出现已经在之前生成的文本中出现过的词语。这就需要使用 frequency_penalty 参数。它可以帮助我们降低在生成的文本中出现重复词语的可能性。
具体来说,frequency_penalty 是一个介于 -2.0 到 2.0 之间的数字,其中正值会对新的token进行惩罚,降低模型生成与之前出现的词语相同的概率,负值则会提高其生成概率。
例如,如果我们将 frequency_penalty 设置为1.5,模型将更有可能生成不同于先前生成的文本中的单词。如果我们将其设置为-1.5,模型则会更有可能生成与之前生成的文本中相同的单词。
需要注意的是,frequency_penalty 和 presence_penalty 的作用类似,但是前者用于控制生成的文本中出现重复词语的可能性,而后者用于控制模型是否继续生成某些主题或话题。

  • logit_bias
类型 默认值 取值范围 是否必填
json 对象 null -100 到 100

logit_bias参数是用来调整模型生成特定标记的概率的,以便更好地控制模型的输出。当需要让模型更
倾向于生成特定的标记时,我们可以将该标记的logit_bias值设为正数。相反,如果需要减少模型生成特定标记的概率,可以将该标记的logit_bias值设为负数。如果希望模型完全避免生成某些标记,则可以将其logit_bias值设为非常负的数值(例如-100)。
举个例子,假设我们要让模型在生成文本时更倾向于使用“机器人”这个词汇,我们可以使用logit_bias参数来调整模型生成“机器人”的概率。例如,我们可以将“机器人”这个标记的logit_bias值设为1,这样模型生成“机器人”的概率就会相应地增加。这样就可以让模型更倾向于生成与“机器人”相关的文本,从而更好地控制生成的文本质量。
在实际应用中,logit_bias参数可以用于多种场景,例如:
在生成文本时增加特定关键词的出现概率,以达到更好的文本流畅度和相关性。
降低模型生成某些敏感词汇的概率,以确保生成的文本符合道德标准。
防止模型生成一些无意义的词汇,从而提高文本质量。
需要注意的是,logit_bias参数的具体效果可能会因模型的不同而异,因此需要进行适当的调整和实验。。
以下是一个示例,用于增加"pizza"和"ice cream"在生成的聊天完成中出现的概率

"logit_bias": {
    "3732": 1.0,
    "6528": 0.5
}
  • user
类型 默认值 取值范围 是否必填
字符串 null string

在 OpenAI API 中它是表示您的终端用户的唯一标识符。如果您使用该参数,OpenAI 可以更好地监控和检测 API 的滥用行为。可以随时查看与您账户相关联的 API 使用数据,包括 API 调用次数、使用量等。这样,当 OpenAI 监测到滥用行为时,可以更轻松地识别哪些用户是问题所在,并采取适当的措施。

总结

这两篇介绍了一下chatgpt的参数以及基本的使用方法,后面会介绍更多的chatgpt在实际中的应用,已经其他一些开源模型的搭建以及微调等

如果有问题可以联系我**:https://gitee.com/xiaoyuren/gpt3

到了这里,关于chatgpt API接口中文说明介绍(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 面向开发人员的 ChatGPT 提示词教程中文版 - ChatGPT 版

    此文章是尝试将 面向开发人员的 ChatGPT 提示词教程中文版的提示词直接在 ChatGPT 中的执行,查看执行的效果。 在本课中,你将练习两个提示原则及其相关策略,以便为大型语言模型编写有效的提示语。 直接在 ChatGPT 中执行,不需要配置。 原则 1: 写出清晰而具体的指示(Wri

    2024年02月10日
    浏览(57)
  • 全国今日油价API接口简介及使用说明

      API接口是一种让不同系统之间实现数据交互的工具,它可以实现不同系统之间的数据共享和数据传递。全国今日油价API接口是一项非常有用的接口,它可以提供最新的全国各省汽油和柴油价格信息。本文将为大家介绍全国今日油价API接口的使用方法,并提供相应代码说明。

    2024年02月19日
    浏览(39)
  • ChatGPT prompt engineering (中文版)笔记 |吴恩达ChatGPT 提示工程

    出处:https://download.csdn.net/download/weixin_45766780/87746321 感谢中文版翻译https://github.com/datawhalechina/prompt-engineering-for-developers/tree/main/content 国内 == 需要对openapi的endpoint做一个反向代理,并修改本地openai包的源代码== 如下图: completion 原则一:编写清晰、具体的指令 你应该通过提供

    2024年02月03日
    浏览(51)
  • 高级文本编辑软件 UltraEdit mac中文版介绍说明

    UltraEdit mac是一款在Windows系统中非常出名的文本编辑器, UltraEdit for mac对于IT程序猿来说,更是必不可少,可以使用UltraEdit编辑配置文件、查看16进制文件、代码高亮显示等,虽然Mac上已经有了很多优秀的文本编辑器,但对于在Windows系统中已经习惯了UltraEdit的用户来说,使用

    2024年02月06日
    浏览(55)
  • 关于阿里云的API接口调用使用说明以及使用艾格瑞特API接口获取验证码的方法

    需要在API网关控制台创建APP,然后将API授权给APP即可。 使用详情页给的请求示例!!!(替换示例中的AppCode)就可以了 本发明涉及互联网技术领域,具体涉及一种API自动管理和SDK、文档自动生成方法。 背景技术: 伴随着互联网时代的多元化发展,更多技术人员将精力投入

    2023年04月18日
    浏览(43)
  • taobao平台上关键字的API接口接入说明

        淘宝API接口是一个丰富的接口库,提供了各种各样的接口供开发者使用。满足多语言开发。以下是一些常见的淘宝API接口及其代码示例。 1. 搜索商品API接口 该API提供了搜索淘宝商品的功能,可以使用各种编程语言来访问。以下代码段展示了使用Python来调用该API的

    2024年02月08日
    浏览(37)
  • 【简单入门】ChatGPT prompt engineering (中文版)笔记 |吴恩达ChatGPT 提示工程

    出处:https://download.csdn.net/download/weixin_45766780/87746321 感谢中文版翻译https://github.com/datawhalechina/prompt-engineering-for-developers/tree/main/content 国内 == 需要对openapi的endpoint做一个反向代理,并修改本地openai包的源代码== 如下图: completion 原则一:编写清晰、具体的指令 你应该通过提供

    2024年02月05日
    浏览(48)
  • ChatGPT说明与介绍与ChatGPT如何实现的

    ChatGPT是一个人工智能聊天机器人,它可以与用户进行对话,回答他们的问题,提供信息和建议。ChatGPT是由OpenAI开发的,它使用了最新的自然语言处理技术和深度学习算法,使其能够理解并生成自然语言文本。 ChatGPT可以用于各种应用,如客户服务、在线销售、教育、医疗保健

    2024年02月07日
    浏览(26)
  • LAZADA平台的商品评论Python封装API接口接入文档和参数说明

         LAZADA是一个位于东南亚的电商平台,成立于2012年。该平台覆盖的国家包括新加坡、马来西亚、印尼、菲律宾、泰国和越南等地。它提供了一个多样化的产品选择,包括时尚、美容、数码、母婴等商品,并且拥有许多知名品牌的官方旗舰店。同时,LAZADA平台也为卖家提供

    2024年02月08日
    浏览(37)
  • 分享160多种ChatGPT 高频中文prompt 提示词指令合集——秒变AI训练师

    ChatGPT 中文 Prompt 提示词,常用、高频集合 在本篇文档中,我将展示超过 160 种 prompt 提示词,你可以挑选自己感兴趣的提示词进行尝试。 国内免费ChatGPT聊天地址: https://chat.bytearch.com 一、职业角色篇 1. 扮演学校讲师 我想让你在学校扮演讲师,向初学者教授算法。 您将使用

    2024年02月12日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包