当前位置:   article > 正文

python调用GPT全记录_gpt调用代码

gpt调用代码

1.创建虚拟环境

conda create -n chatG python==3.8

报错:CondaHTTPError: HTTP 403 FORBIDDEN for url <http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/win-64/python-3.8.0-hc9e8b01_5.tar.bz2>

可以看出应该是清华源的问题,换回默认源,解决:

conda config --remove-key channels

2.激活虚拟环境

conda activate chatG

3.安装OpenAI依赖包

pip install openai

4.获取openAI API

获取方法:

  • 进入openai网站,进行注册。
  • 完成注册后,进入个人中心,找到API管理界面。
  • 进入API管理界面后,生成一个API key(生成后立马复制!它不会2次显示)。
  • 在python中调取api接口,刚开始使用的代码如下:
  1. import openai, os
  2. start_sequence = "\nA:"
  3. restart_sequence = "Q: "
  4. # Replace `<your_api_key>` with your actual OpenAI API key
  5. openai.api_key = "<your_api_key>"
  6. prompt = " "
  7. while len(prompt)!=0:
  8. prompt = input(restart_sequence)
  9. response = openai.Completion.create(engine="text-davinci-003",prompt=prompt,temperature=1,max_tokens=2000,frequency_penalty=0,presence_penalty=0)
  10. print(start_sequence,response["choices"][0]["text"].strip())

报错:

openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url:

解决方法:

  • 加入代理

文件路径:./envs/虚拟环境名称/Lib/site-packages/openai/api_requestor.py(openai库路径)
打开该.py并找到if not hasattr(_thread_context, "session"):方法,加入代理:

  1. proxy = {
  2. 'http': 'http://localhost:7890',
  3. 'https': 'http://localhost:7890'
  4. }

下滑,在result = _thread_context.session.request(中加入代理:

 proxies=proxy,

 

  • 主文件中配置环境
  1. import os
  2. os.environ["http_proxy"] = "http://localhost:7890"
  3. os.environ["https_proxy"] = "http://localhost:7890"

解决

但是输第二个问题会报错

UnboundLocalError: local variable 'proxy' referenced before assignment

未解决,直接换了个代码,如下

  1. import openai
  2. import json
  3. # 设置API密钥
  4. openai.api_key = "<your_api_key>"
  5. def chat(prompt):
  6. response = openai.ChatCompletion.create(
  7. model="gpt-3.5-turbo",
  8. messages=[
  9. # {"role": "user", "content":prompt}
  10. {"role":"system","content":"对网络谣言进行判断。"},
  11. {"role":"user","content":"判断题,请判断是否是谣言,并回答‘是’或者‘否’,并解释原因。"},
  12. {"role":"user","content":"UPDATE: Police storm #Sydney cafe amid gunshots and explosions"}
  13. ]
  14. )
  15. answer = response.choices[0].message.content
  16. return answer
  17. if __name__=='__main__':
  18. prompt='UPDATE: Police storm #Sydney cafe amid gunshots and explosions'
  19. result = chat(prompt)
  20. print(result)

这个跑成功

刚开始将中文prompt换成英文后,时不时报

urllib3.exceptions.ProtocolError: ('Connection aborted.', OSError(0, 'Error'))

openai.error.APIConnectionError: Error communicating with OpenAI: ('Connection aborted.', OSError(0, 'Error'))

之类的错,网上有人说是urllib3版本的问题,但是我不理解这版本跟中英文有什么关系,重新换个个梯子,遂解决,所以我觉得归根结底还是网络的问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/199363
推荐阅读
相关标签
  

闽ICP备14008679号