当前位置: 首页 > article >正文

「ChatGPT」十分钟学会如何在本地调用API_KEY(最新版 | 附源码)

在这里插入图片描述

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。


💅文章概要: ChatGPT最近实在是太火了,各位小伙伴们都用上了吗?本文将从另一个角度出发,教大家如何十分钟学会将Chatgpt部署到我们本地,使用Python调用Chatgpt的API_KEY!


🤟每日一言: 你可以遗憾,但是你绝对不能后悔。遗憾证明你努力过了,只是力有不逮。而后悔,只能说明你当时没努力过。


目录

  • 前言
  • 准备工作
    •   Python环境安装
    •   安装OPEN AI库
    •   获取API_KEY
  • Python代码
  • 运行效果
  • 写在最后的话


前言

在这里插入图片描述

ChatGPT最近实在是太火了,各位小伙伴们都用上了吗?本文将从另一个角度出发,教大家如何十分钟学会将Chatgpt部署到我们本地,使用Python调用Chatgpt的API_KEY


准备工作

在这里插入图片描述

  在正式开始教程之前,首先我们需要完成如下的准备工作:

  • 魔法(电脑能够正常登录Google官网)
  • Python环境
  • open ai库
  • Chatgpt的API_KEY

PS:在学习过程中遇到任何问题,请关注公众号AI方舟点击菜单栏中的联系我,添加我的个人微信。

  Python环境安装

  Python环境的安装市面上已经有大把的教程了,博主在此不再赘述,最好安装Python的最新3.9版本

  安装OPEN AI库

  在CMD命令行中,输入如下代码安装open ai库

pip install OPEN AI

PS:在安装open ai库的过程中可能会产生如下报错:

在这里插入图片描述

该报错可能是由于如下问题导致:

  • 没有对open ai库给予信任
  • pip版本过高

  我们可以通过在pip install openai 后面加上软件源并对该存储库给予信任,或者是降低我们的pip版本,CMD中的代码如下:

  加上软件源对该存储库给予信任

pip install openai -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

  降低pip版本到20.2

python -m pip install pip==20.2 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

PS:如果上述解决方案还是不能解决安装报错问题,请联系博主

  获取API_KEY

在这里插入图片描述

  (一)首先,访问Chatgpt官网登录账号

PS:登录成功后,登录之后,点击右上角“Personal”,展开菜单,找到“View API keys”

在这里插入图片描述

  (二)进入页面后,点击“Create new secret key”按钮,来创建API_KEY。之后复制你的key,记住它!!!单个key只会显示一次!

PS:你可以创建多个key,但是多个key是共享总的金额。

在这里插入图片描述


Python代码

import openai
import time

def use_openai_api(words,api_key):    
    #接收需求,调用openai_api
    
    openai.api_key = 'YOUR_API_KEY'
    response = openai.ChatCompletion.create(
      model="gpt-3.5-turbo", 
      messages=[{"role": "user", "content": words}]
    )
    return response

def total_counts(response,current_time):
    
    print(response)
    #计算本次任务花了多少钱和多少tokens:
    tokens_nums = int(response['usage']['total_tokens']) #计算一下token的消耗
    price = 0.002/1000 #根据openai的美元报价算出的1token美元价格
    人民币花费 = price * tokens_nums * 7.5
    合计内容 = f'当前时刻为{current_time},本次任务共消耗了{tokens_nums}个token,\
共花了{人民币花费}元(人民币)'
    print(合计内容)
    with open('tokens和费用的合计.txt','a',encoding="utf-8") as f:    
        f.write(合计内容+"\n"*2)
    f.close()

def save_answer(response):
    
    #打印ai最近一次的回答
    answer = response.choices[0].message['content']
    print(answer)
    with open('answer.txt','w',encoding="utf-8") as f:
        f.write(answer)
    f.close()

def main():

    words = input("\n请写出您的需求或问题:\n")    

    api_key = 'YOUR_API_KEY'
    response = use_openai_api(words,api_key)
    current_time=time.strftime("%Y年%m月%d日%H点%M分",time.localtime())
    total_counts(response,current_time)
    save_answer(response)

if __name__ == "__main__":
    main()

PS:上面的代码实际运行过程中需要将两处的YOUR_API_KEY替换为在上面步骤中获取到的自己的API_KEY


运行效果

PS:在运行上述代码之前,请全程确保你的电脑可以正常访问Google官网,如果不知道怎么做,请关注公众号AI方舟点击菜单栏中的联系我,添加我的个人微信。

  (一)输入你想要提出的问题

在这里插入图片描述

  (二)按下回车键,等待运行结果

在这里插入图片描述

  (三)同时还会在同一目录下创建两个文件answertokens和费用的合计,分别记录了答案本次回答问题的费用消耗以及字数!

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


写在最后的话

  本文花费大量时间介绍了十分钟学会如何在本地调用API_KEY,希望能帮助到各位小伙伴,码文不易,还望各位大佬们多多支持哦,你们的支持是我最大的动力!

在这里插入图片描述

原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力! \textcolor{9c81c1}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{ed7976}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{98c091}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!


http://www.kler.cn/a/3746.html

相关文章:

  • 【Java】阿里环球Antom支付对接
  • 基于python的博客系统设计与实现
  • HTML语言的多线程编程
  • 金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
  • 无人机飞手考证难度增加,实操、地面站教学技术详解
  • 学习ASP.NET Core的身份认证(基于JwtBearer的身份认证6)
  • 【数据结构】第五站:带头双向循环链表
  • 【Linux】权限详解
  • Meson与Ninja
  • 蓝桥杯刷题冲刺 | 倒计时16天
  • 低代码开发:助力企业高效实现数字转型的一大利器
  • 个人简历html网页代码(使用chatgpt完成web开发课的实验)
  • 一文学会 Spring MVC 表单标签
  • 【C语言蓝桥杯每日一题】—— 货物摆放
  • 【Vue3】模板语法
  • centos7.*系统下yum安装mysql8
  • 瑟瑟发抖吧~OpenAI刚刚推出王炸——引入ChatGPT插件,开启AI新生态
  • Spring源码面试最难问题——循环依赖
  • AI真的快让我们失业了,从ChatGPT到Midjourney
  • GPT免费网站分享(持续更新)
  • Token原理
  • 【JaveEE】多线程之阻塞队列(BlockingQueue)
  • 13从零开始学Java之数据类型之间的自动、强制与隐含强制类型转换详解
  • 低代码开发的未来~
  • 100天精通Python丨基础知识篇 —— 03、Python基础知识扫盲(第一个Python程序,13个小知识点)
  • 九月九日忆八股