iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >ChatGpt的参数意义和运用调整模型生成答案的倾向性生成内容
  • 438
分享到

ChatGpt的参数意义和运用调整模型生成答案的倾向性生成内容

python机器学习开发语言 2023-09-09 17:09:37 438人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录 一般参数: 调整模型生成答案的倾向性: 一般参数:  temperature:控制生成文本的随机性。较高的温度会导致更加随机和多样化的生成文本,而较低的温度则会更加保守和精准。取值范围为0到1,一般默认为0.5。 top_p

目录

一般参数:

调整模型生成答案的倾向性:


一般参数:

  1.  temperature:控制生成文本的随机性。较高的温度会导致更加随机和多样化的生成文本,而较低的温度则会更加保守和精准。取值范围为0到1,一般默认为0.5。

  2. top_p:指定生成文本的多样性。该参数与温度类似,可以控制生成文本的随机性,但是会更加保守和精准。如果设置了top_p,则在保证生成文本的概率总和超过top_p之前,会一直选择概率最高的单词进行生成。一般取值范围为0到1,一般默认为1.0。

  3. frequency_penalty:控制重复单词的惩罚力度。较大的惩罚力度会导致生成文本中不太可能出现相同的单词,而较小的惩罚力度则会容忍一定程度的重复。取值范围为0到1,一般默认为0。

  4. presence_penalty:控制模型生成与文本样本中不同的单词的惩罚力度。较大的惩罚力度会导致生成文本中更多地包含文本样本中未出现的单词,而较小的惩罚力度则会限制生成文本的多样性。取值范围为0到1,一般默认为0。

  5. best_of:指定api返回多少个完整的响应中的最佳响应。如果指定了best_of,则API将生成多个响应并从中选择最佳响应。

  6. timeout:指定等待API返回响应的最长时间(以毫秒为单位)。

  7. echo:指定是否返回输入的请求。

  8. prompt:指定API的输入文本。

  9. engine:指定要使用的Openai语言模型。

  10. max_tokens:指定API生成文本的最大长度。

  11. n:指定API生成的文本数量。

  12. stop:指定当API生成的文本中出现此字符串时停止生成文本

来个python举例:

import openai# 设置 OpenAI API 凭据openai.api_key = 'YOUR_API_KEY_HERE'# 设置生成文本的提示prompt = "在一个令人震惊的发现中,科学家们在安第斯山脉的一个偏远、以前未开发的山谷里发现了一群独角兽。更令研究人员惊讶的是,这些独角兽竟然说着流利的英语。"# 设置 OpenAI 模型model = "text-davinci-002"# 设置最大生成 token 数量max_tokens = 100# 设置 "temperature" 参数,控制生成文本的创造力temperature = 0.5# 设置 "top_p" 参数,控制生成文本的多样性top_p = 1# 设置 "frequency_penalty" 参数,防止生成的文本重复frequency_penalty = 0# 设置 "presence_penalty" 参数,防止生成的文本包含特定单词或短语presence_penalty = 0# 设置 "best_of" 参数,控制生成的响应数量best_of = 1# 设置 "timeout" 参数,控制 API 生成文本的最大时间timeout = 5# 设置 "echo" 参数,将提示包含在生成的文本中echo = True# 设置 "logit_bias" 参数,控制生成文本的倾向性logit_bias = {"unicorn": 1.0}# 使用 OpenAI API 生成文本response = openai.Completion.create(    engine=model,    prompt=prompt,    max_tokens=max_tokens,    temperature=temperature,    top_p=top_p,    frequency_penalty=frequency_penalty,    presence_penalty=presence_penalty,    best_of=best_of,    timeout=timeout,    echo=echo,    logit_bias=logit_bias)# 打印生成的文本print(response.choices[0].text.strip())

调整模型生成答案的倾向性:

logit_bias 是一个可选参数,用于设置某些词或短语的偏置,以调整模型生成答案的倾向性。可以将其传递给 openai.Completion.create() 方法,如下所示:

response = openai.Completion.create(    engine="text-davinci-002",    prompt=prompt,    temperature=0.7,    max_tokens=1024,    n=1,    stop=None,    logit_bias={"positive": 2.0, "negative": -2.0})

在上述代码中,logit_bias 参数是一个字典,其中包含两个键值对:positivenegative。这些键表示您希望增加或减少的概率,以及它们所应用的词汇类别。在这种情况下,将增加 positive 类别的概率,减少 negative 类别的概率。

注意:这个{"positive": 2.0, "negative": -2.0}里面的key是自定义的,后面的值用正负号来调整倾向性的,比如: {"店铺": 2.0, "商铺": -2.0},那么结果里面关于店铺的词频就出现的多,商铺的词频就出现的少。

来源地址:https://blog.csdn.net/liuruiaaa/article/details/129931010

--结束END--

本文标题: ChatGpt的参数意义和运用调整模型生成答案的倾向性生成内容

本文链接: https://www.lsjlt.com/news/401745.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作