位置: IT常识 - 正文

Python Module — OpenAI ChatGPT API

编辑:rootadmin
原力计划Python Module — OpenAI ChatGPT API 目录文章目录目录OpenAI Python SDKopenai.ChatCompletion 模块openai.ChatCompletion.create 函数OpenAPI client 代码示例OpenAI Python SDK官方文档:https://platform.openai.com/docs/api-reference/introduction

推荐整理分享Python Module — OpenAI ChatGPT API,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

Python Module — OpenAI ChatGPT API

OpenAI Python SDK 用于开发与 OpenAI RESTful API 进行交互的客户端应用程序,包含了 OpenAI 的各种人工智能模型的 API。

OpenAI Python SDK 提供了多个模块,每个模块都具有一套自包含的 APIs,包括:

openai.ChatCompletion:用于访问 ChatGPT 语言模型,实现自然语言生成和处理。openai.Davinci:用于访问 OpenAI 最大的 GPT-3 语言模型,提供了更强大的语言处理能力。openai.GPT:用于访问 OpenAI 较小的 GPT-3 语言模型,提供了基本的语言处理能力。openai.Language:用于访问 OpenAI 语言模型,提供了自然语言生成和处理的能力。openai.Image:用于访问 DALL-E 图像生成模型,实现图像的生成和处理。openai.File:用于访问 OpenAI 文件服务器,实现文件的上传和下载。openai.Organization:用于管理 OpenAI 账户、工作区和 API Keys 等。openai.ChatCompletion 模块

OpenAI ChatCompletion 模块用于访问 ChatGPT 语言模型,用于实现对话式(Chat)AI 应用程序。

openai.ChatCompletion.create 函数编程示例:https://github.com/JmilkFan/easy-chat-prompts

函数作用:与 ChatGPT 进行 C/S 交互,返回 AI 模型生成的对话文本。注意,该接口是 Stateless 的,每次调用都不包含对话的上下文。这意味着需要客户端应用程序自己维护 “聊天记录“。

函数原型:

model:指示要访问的 AI 模型,例如:gpt-3.5-turbo(计费 $0.002 / 1K tokens)。messages:对话消息,字典列表类型,字典包括下列 Keys。

role:指示发起对话的角色。枚举:user(发送用户对话)、system(发送给 AI 模型的提示符)。content:指示发起对话的内容。assistant:指示 ChatGPT 回答的内容,用于传递 “聊天记录”。max_tokens:指示响应内容的 Token 数量,例如:1024、2048、4096(MAX)。temperature:用于控制输出文本的多样性和创造性。它是一个介于 0 到 1 之间的实数,表示 AI 模型在生成每个单词时的随机程度。更高的数值会导致更多的随机性和更多的创造性,但可能会降低输出的质量和连贯性。反之,则会产生较为确定性的输出,但可能会使输出变得单调和缺乏创意。top_p:用于控制模型生成的单词的概率分布。它是一个介于 0 到 1 之间的实数,表示模型在生成下一个单词时,只考虑最有可能的前 top_p 个单词。当 top_p 较小时,生成的文本更加精细和准确,但可能会导致过度确定性和缺乏多样性。反之,当 top_p 较大时,生成的文本更加多样化,但可能会导致出现不合适的单词和不相关的文本。frequency_penalty:用于控制生成对话文本中重复的程度,值越大则重复的文本越少,值越小则重复的文本越多。如果将其设置为 0,则 AI 模型将生成最多数量的重复文本。presence_penalty:用于控制模型生成是否包含与给定文本重叠的片段,值越大则生成文本的准确性越高,值越小则生成文本的多样性越大。stop:用于控制对话文本生成的终止条件。n:指示生成对话文本的个数。max_examples:用于控制生成对话文本的数量。logprobs:在对话文本生成时输出单词出现的概率。echo:是否在生成对话文本后输出到控制台。def create( model: str, messages: str, max_tokens: Optional[int] = None, temperature: Union[int, float] = 0.5, top_p: Union[int, float] = 1.0, frequency_penalty: Union[int, float] = 0, presence_penalty: Union[int, float] = 0, stop: Optional[Union[str, List[str]]] = None, n: Optional[int] = 1, max_examples: Optional[int] = None, logprobs: Optional[int] = None, echo: bool = True, **kwargs,) -> Dict[str, Union[str, List[str]]]: pass原始 HTTP 请求样式:curl https://api.openai.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Say this is a test!"}], "temperature": 0.7 }'原始 HTTP 响应样式:{ "id":"chatcmpl-abc123", "object":"chat.completion", "created":1677858242, "model":"gpt-3.5-turbo-0301", "usage":{ "prompt_tokens":13, "completion_tokens":7, "total_tokens":20 }, "choices":[ { "message":{ "role":"assistant", "content":"\n\nThis is a test!" }, "finish_reason":"stop", "index":0 } ]}“聊天记录“ 请求样式:messages = [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Who won the world series in 2020?"}, {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."}, {"role": "user", "content": "Where was it played?"}]OpenAPI client 代码示例import openaiimport configparserimport timeconfig = configparser.ConfigParser()config.read('./config.ini')class OpenAIClient(object): def __init__(self): super(OpenAIClient, self).__init__() openai.api_key = config.get('OpenAI', 'API_SECRET_KEY') self.max_retry = 3 self.retry_delay = 5 self.timeout = 10 def _make_request(self, role, content): print("*************************************") print("request role: ", role) print("request content: ", content) print("*************************************") if role not in ['user', 'system', 'assistant']: print(f'role [{role}] not found.') raise retry_count = 0 while retry_count < self.max_retry: try: response = openai.ChatCompletion.create( model=config.get('OpenAI', 'MODEL'), messages=[{"role": role, "content": content}], max_tokens=2048, n=1, stop=None, temperature=0.7, timeout=self.timeout ) return response except Exception as e: print(f"Failed to connect to API server, detail error as {e}, retrying in {self.retry_delay} seconds ({retry_count+1}/{self.max_retry})") time.sleep(self.retry_delay) retry_count += 1 def chat_request(self, content): role = "user" return self._make_request(role, content) def prompt_request(self, content): role = "system" return self._make_request(role, content) def parser_response(self, response): result = [] choices = response.choices for cho in choices: result.append( { 'index': cho['index'], 'role': cho['message']['role'], 'content': cho['message']['content'] } ) return resultif __name__ == '__main__': cli = OpenAIClient() resp = cli.chat_request(content='hello!') print("Test response: ", cli.parser_response(resp))./config.ini[OpenAI]API_SECRET_KEY = your_api_keyMODEL = gpt-3.5-turbo
本文链接地址:https://www.jiuchutong.com/zhishi/299606.html 转载请保留说明!

上一篇:微信小程序:用户微信登录流程(附:流程图+源码)(微信小程序用电脑怎么打开)

下一篇:Opencv(C++)系列学习---opencv_contrib安装(opencv1.0)

  • 支付宝怎么定制项链(支付宝怎么定制钥匙扣)

    支付宝怎么定制项链(支付宝怎么定制钥匙扣)

  • 小米10pro支持无线充电的吗(小米10pro支持无线充电功能吗)

    小米10pro支持无线充电的吗(小米10pro支持无线充电功能吗)

  • 小米9电池多大毫安(小米电池多大在哪看)

    小米9电池多大毫安(小米电池多大在哪看)

  • qq怎么设置所有人的背景图片(qq怎么设置所有人的提示音)

    qq怎么设置所有人的背景图片(qq怎么设置所有人的提示音)

  • 微信怎么拉黑再删除(微信拉黑了怎么强制加回来)

    微信怎么拉黑再删除(微信拉黑了怎么强制加回来)

  • mate20pro找不到指纹(华为mate20pro找不到指纹解锁)

    mate20pro找不到指纹(华为mate20pro找不到指纹解锁)

  • 电脑键盘百分比符号怎么打(电脑键盘百分比符号怎么打出来)

    电脑键盘百分比符号怎么打(电脑键盘百分比符号怎么打出来)

  • 苹果无线耳机叫什么(苹果无线耳机叫什么英文)

    苹果无线耳机叫什么(苹果无线耳机叫什么英文)

  • 咸鱼网是干什么的啊(咸鱼网是闲鱼网吗)

    咸鱼网是干什么的啊(咸鱼网是闲鱼网吗)

  • 微信保号什么意思(微信保号是什么)

    微信保号什么意思(微信保号是什么)

  • 朋友圈可以发live图吗

    朋友圈可以发live图吗

  • 苹果n开头是什么版本(苹果N开头是什么意思)

    苹果n开头是什么版本(苹果N开头是什么意思)

  • cpu坏了开机有反应吗(cpu坏了开机有反应怎么办)

    cpu坏了开机有反应吗(cpu坏了开机有反应怎么办)

  • 荣耀9x插耳机没反应(华为荣耀9x耳机插孔用不了)

    荣耀9x插耳机没反应(华为荣耀9x耳机插孔用不了)

  • 华为GT2表盘刮花玻璃能换吗(华为gt2pro表盘划痕)

    华为GT2表盘刮花玻璃能换吗(华为gt2pro表盘划痕)

  • 微信话费货源维护中怎么回事(微信话费货源维护怎么弄)

    微信话费货源维护中怎么回事(微信话费货源维护怎么弄)

  • 苹果xr副卡为什么不能用(苹果xr副卡为什么不显示电话号码)

    苹果xr副卡为什么不能用(苹果xr副卡为什么不显示电话号码)

  • 可选颜色的快捷键(可选颜色快捷键2022)

    可选颜色的快捷键(可选颜色快捷键2022)

  • 什么是径向渐变(径向渐变的特点)

    什么是径向渐变(径向渐变的特点)

  • 华为如何升级到emui10(华为如何升级到3.0)

    华为如何升级到emui10(华为如何升级到3.0)

  • OPPO k5支持volte吗(oppok5支持5g吗)

    OPPO k5支持volte吗(oppok5支持5g吗)

  • 一加7T Pro支持双卡双待吗(一加7pro支持双4g吗)

    一加7T Pro支持双卡双待吗(一加7pro支持双4g吗)

  • 孑然一身是什么意思(孑然一身是什么生肖)

    孑然一身是什么意思(孑然一身是什么生肖)

  • 荣耀手环4怎么连手机(荣耀手环4怎么连接手机)

    荣耀手环4怎么连手机(荣耀手环4怎么连接手机)

  • iphone11和iphone11pro的区别(iphone11和iphone11promax哪个好)

    iphone11和iphone11pro的区别(iphone11和iphone11promax哪个好)

  • 抖音里面的千手观音是什么特效(千手购物是真的吗)

    抖音里面的千手观音是什么特效(千手购物是真的吗)

  • 证件照内存怎么缩小(证件照内存怎么改到20—200K)

    证件照内存怎么缩小(证件照内存怎么改到20—200K)

  • 华为p30怎么接电话(华为p30怎么接电脑)

    华为p30怎么接电话(华为p30怎么接电脑)

  • safari尚未接入互联网怎么设置(safari尚未接入互联网,自动关闭怎么回事)

    safari尚未接入互联网怎么设置(safari尚未接入互联网,自动关闭怎么回事)

  • win10英雄联盟图形设备初始化失败如何解决?(英雄联盟电脑软件图片)

    win10英雄联盟图形设备初始化失败如何解决?(英雄联盟电脑软件图片)

  • 工业企业销售收入税率
  • 滞留票有什么影响
  • 购买水果属于什么费用
  • 社保可以抵扣什么税
  • 第一季度利润表简易
  • 小规模发票冲红怎么申报
  • 房地产企业土地使用权入什么科目
  • 代办汽车过户手续
  • 土地增值税扣除系数
  • 机动车销售统一专票有几联
  • 专票只有抵扣联发票联丢失怎么办
  • 其他应收款有什么业务
  • 查补以前年度所得税如何填写申报表
  • 陈列费税率多少
  • 购买饲料计入哪个科目?
  • 税后工资反推税前工资计算方法
  • 财会人员
  • 定额发票上的金额是什么
  • 广告业增值税税率6%是多少
  • 进料加工贸易是什么意思
  • 收到发票后怎么处理
  • 带销货清单的专票咋红冲
  • 应发工资包含罚款吗
  • 房地产企业使用什么准则
  • 电脑上一键复制是哪个键
  • 去年的发票忘记报销了 今年可以报销吗
  • 房地产评估费计算公式
  • php字符串型数据的定义方式
  • 融资性租赁的优缺点
  • 原材料运费可以计入制造费用吗
  • 简易计税办法和一般计税办法
  • 期间费用的会计科目
  • 增值税专用发票查询系统官方网站
  • 金融机构通过
  • 落枕怎么办怎么治疗
  • 购买免税农产品的会计分录
  • thinkphp框架怎么用
  • yii2组件的理解
  • GPT-4 手画设计稿 直接生成前端页面
  • 微信小程序开发一个多少钱
  • 公司租赁个人车辆账务处理
  • mysql如何上锁
  • 个人独资企业用企业资金进行个人消费
  • 织梦设置的关键词看不到
  • 印花税计入管理费用还是税金
  • winXP系统安装SQLServer2005开发版具体过程与注意问题
  • mysql drop from
  • 小规模纳税人增值税计算公式
  • 生育津贴和产假工资就高原则
  • 今年发的去年的工资怎么扣税
  • 支付上月采购货款
  • 所有者权益科目有哪些
  • 坏账准备具有哪些特征
  • 水利建设基金可以零申报吗
  • 生产车间生产工人的薪酬计入什么
  • 国有资本金是什么意思
  • 会计账簿怎么填写模式
  • 会议接待纸笔摆放
  • mysql转移表数据表
  • Winxp系统打不开浏览器
  • windowssys
  • windows 运行
  • ubuntu有线正在连接
  • win7 ie
  • win7系统如何查找文件
  • linux find命令详解xargs
  • linux虚拟机安装windows
  • cocos2dx官方教程
  • .json()
  • 十大经典排序算法总结
  • tomcat怎么启动
  • 管道的实现
  • 如何强制和别人qq聊天
  • node exit
  • Python快速从注释生成文档的方法
  • 安卓快速开发平台
  • 四川省国税局
  • 第十三个人
  • 杭州市税务局副局长
  • 金税盘里的发票清单怎么导出
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设