近日水哥用GPT的情况比较多,相信在官网用过GPT的同学都会遇到这种情况,当次数用多了后会出现下面这种情形: 出现这个问题,水哥估摸着也是因为官网用的人太多,人家服务器也有限,所以才会出现这种情况,要解决这个问题,只有不断刷新,然后在重新使用,如果网速不好,或者代理的Ip污染度较高,还需要重复性的做人工验证,当频繁使用的时候,非常不友好。 有没有一种可以解决这种情况的方法呢?
近日水哥用GPT的情况比较多,相信在官网用过GPT的同学都会遇到这种情况,当次数用多了后会出现下面这种情形:
import osimport openaiopenai.api_key = 'Your API Key'prompt='你的问题内容'model='text-davinci-003'temperature = 0.7max_tokens = 3000response = openai.Completion.create( engine=model, prompt=prompt, temperature=temperature, max_tokens=max_tokens )print(response.choices[0].text)
官网还提供了其他参数的解释,由于我们在实际运用过程中保持默认即可,这里便不再过多介绍。
好了,接下来就是避坑指南了。。。。
当水哥信心慢慢的复制上面代码运行时,迎面而来的不是GPT的回答,而是一大推的红色错误.....
很多情况下都是这种错误,网络连接错误,或者说无法连接的OpenAI的服务器.....看着挺难受的....
经过不断尝试,最终找到了下面的解决方法,不一定通用,至少对水哥而言,问题是解决了。
step1: 降低 urllib3的版本至 1.25.11, urllib3主要控制python网络传输协议,水哥的版本是1.26.14,这个版本有些许问题,故而先卸载新版,然后在安装旧版:
pip uninstall urllib3pip install urllib3==1.25.11
step2: 如果上述操作之后还不行,那就是你的代理端口的问题,因为如果你要连接到openai,你都是需要梯子的,所以系统默认的端口就不行了,必须要用梯子的端口,这里每个梯子查看的方式不一样,如果是用的水哥推荐的,可在这个位置找到端口号。
step3: 在前面代码中加入下面修改端口的代码,其中33210换为你自己的端口代码,前面的IP地址不换。
proxies = {'http': "http://127.0.0.1:33210",'https': "http://127.0.0.1:33210"}openai.proxy = proxies
经过上述调整后,终于能运行了,来看看效果:
问题1:ANSYS和ABAQUS哪个好学一点?
回答如下:咳咳,GPT都认为ANSYS好学一点呢,大家还不积极一点?
问题2:ansys workbench如何进行ACT开发
回答如下:
问题3:
帮我用英文翻译下下面这段话:
沙漏(hourglass)模式是一种非物理的零能变形模式,产生零应变和应力。沙漏模式仅发生在缩减积分(单积分点)体、壳和厚壳单元上。是单元刚度矩阵中秩不足导致的,而这些是由于积分点不足导致的。沙漏模式导致一种在数学上是稳定的、但在物理上无法实现的状态。他们通常没有刚度,变形呈现锯齿形网格
回答如下:(翻译质量还不错的哦,个人感觉至少比百度翻译好吧)
当然如果你觉得每次都要在python界面去调整变量的数值比较麻烦,那么则可增加下面代码,通过读入本文里面的内容,来完成输入,我们每次只需要将文本里面的内容重新更新下即可,同时还可将数据用文本写出来,这样方便我们打开文本进行复制操作。
读入文本如下:
file=open('Input.txt',encoding='utf-8',errors='ingore')prompt=file.read()print(prompt)
写入结果文件如下:
output=Chat(prompt)fileout=open('Output.txt','w',encoding='utf-8')fileout.write(output)fileout.close()
效果如下所示:
在Input.txt中输入
在Output.txt中查看结果
model = "gpt-3.5-turbo"messages = [{'role': 'system', 'content': '这是一个测试'}]# 在 messages 中加入 `用户(user)` 角色提出第 1 个问题messages.append({'role': 'user', 'content': '用APDL写一个悬臂梁的代码'})# 调用接口response = openai.ChatCompletion.create( model='gpt-3.5-turbo', messages=messages,)# 在 messages 中加入 `助手(assistant)` 的回答messages.append({'role': response['choices'][0]['message']['role'],'content': response['choices'][0]['message']['content'],})# 在 messages 中加入 `用户(user)` 角色提出第 2 个问题messages.append({'role': 'user', 'content': '检查上述代码中是否错误,如果有请修改'})# 调用接口response = openai.ChatCompletion.create( model='gpt-3.5-turbo', messages=messages,)# 在 messages 中加入 `助手(assistant)` 的回答messages.append({'role': response['choices'][0]['message']['role'],'content': response['choices'][0]['message']['content'],})# 查看整个对话print(messages)