ChatGPT初体验step by step:ChatGPT解决人类提出的数理逻辑问题,Python编程实践
创始人
2024-05-26 02:31:39
0

ChatGPT初体验step by step:ChatGPT解决人类提出的数理逻辑问题,Python编程实践

如果已有有效的open ai的api key,则跳过本文(1)(2)(3)(4),直接从(5)开始。

(1)要登录openai获取api key,在openai官网登录自己账号:

https://chat.openai.com/auth/loginhttps://chat.openai.com/auth/login

(2)登录成功后点击 右上角的 Personal,然后View API keys

(3)如果SECRET KEY里面没有,创建SECRET KEY,也就是 api key:

(4)创建成功后,把api key复制保存好:

 这里openai提醒用户,请务必保存好api key,一旦关闭这个弹窗,以后无法再看到 api key,复制,保存api key到一个文件,以备后续使用。

(5)以下是python编程调用chatgpt自动获取答案。首先需要安装openai库。

pip install openai

(6)在Python里面写chatgpt代码:

把第(4)步获取的API key填写进来

import openai# 设置你的 API key
openai.api_key = "sk-gj*****************************************"def chat_test():question = '怎么解决android内存泄漏?'# 使用 GPT-3 modelcompletion = openai.Completion.create(engine="text-davinci-002",prompt=question,  # 要问的问题max_tokens=1024,temperature=0.5,)# 回复answer = completion.choices[0].text# 打印print('----------')print('问题', question)print('答案')print(answer)if __name__ == '__main__':chat_test()

奇迹时刻到了,来看看chatgpt给出的答案:

----------
问题 怎么解决android内存泄漏?
答案


android内存泄漏最常见的原因是:持有Activity或者其他组件实例引用导致的,这个引用是非必要的,可以放弃,或者是静态引用。

比如:

public class MyActivity extends Activity { private static MyActivity activity; public void onCreate(Bundle savedInstanceState) { activity = this; } public static MyActivity getInstance() { return activity; } }

MyActivity类持有了一个静态的引用,这个引用是非必要的,可以放弃。

比如:

public class MyActivity extends Activity { private MyHelper helper; public void onCreate(Bundle savedInstanceState) { helper = new MyHelper(this); } }

MyActivity类持有了一个非静态的实例引用,这个引用是非必要的,可以放弃。

针对这两种情况,可以这样处理:

比如:

public class MyActivity extends Activity { private static MyActivity activity; public void onCreate(Bundle savedInstanceState) { activity = this; } public static MyActivity getInstance() { return activity; } }

改成:

public class MyActivity extends Activity { private static WeakReference activity; public void onCreate(Bundle savedInstanceState) { activity = new WeakReference(this); } public static MyActivity getInstance() { return activity.get(); } }

比如:

public class MyActivity extends Activity { private MyHelper helper; public void onCreate(Bundle savedInstanceState) { helper = new MyHelper(this); } }

改成:

public class MyActivity extends Activity { private WeakReference helper; public void onCreate(Bundle savedInstanceState) { helper = new WeakReference(new MyHelper(this)); } }

有时候,内存泄漏的原因不是一开始就可以看到的,比如:

public class MyActivity extends Activity { private MyHelper helper; public void onCreate(Bundle savedInstanceState) { helper = new MyHelper(this); } public void onDestroy() { helper.destroy(); } }

MyHelper类的destroy方法里面持有了MyActivity的引用,这个引用是非必要的,可以放弃,可以改成:

public class MyActivity extends Activity { private WeakReference helper; public void onCreate(Bundle savedInstanceState) { helper = new WeakReference(new MyHelper(this)); } public void onDestroy() { helper.get().destroy(); } }

这样,MyActivity类和MyHelper类就不会互相持有引用了,就不会产生内存泄漏的问题了。

还有一种情况:

public class MyActivity extends Activity { private MyHelper helper; public void onCreate(Bundle savedInstanceState) { helper = new MyHelper(this); } public void onDestroy() { helper.destroy(); } }

MyHelper类的destroy方法里面持有了MyActivity的引用,这个引用是非必

如果把问题换成2+3等于多少?

2+3等于多少?

chatgpt的回复是:

 AI正确算出了人类提出的数学问题。在这里,chatgpt表现出两个卓越能力:(1)理解人类的语言能力。(2)理解人类语言并做出数理逻辑计算的能力。

相关内容

热门资讯

资本界金控(00204.HK)... 格隆汇7月2日丨资本界金控(00204.HK)公告,公司近期与江苏福万代科技信息有限公司("福万代"...
新希望:独立董事彭龙接受纪律审... 转自:财联社【新希望:独立董事彭龙接受纪律审查和监察调查】财联社7月2日电,新希望公告,公司独立董事...
3岁萌娃迷路街头,妈妈急疯!两... 来源:杭州公安 “你好 我在天万街与羊头坝路交叉口的桥上 这边有个小孩子找不到家人一直在哭” 6月2...
中考成绩单|低波策略业绩盘点 (转自:国泰基金微幸福)
华菱钢铁:投资者建议连续三年回... 投资者提问:回购注销是财务手段里提升pb最稳定最可靠最有效的方式,在pb回升到1之前,每年分红可以少...
今年前5个月销量排名前十位轿车... 转自:北京商报北京商报讯(记者 刘晓梦)7月2日,据中国汽车工业协会统计分析,今年前5个月,销量排名...
法国已有2人死于热浪 转自:新华社新华社巴黎7月2日电(记者罗毓)法国商业调频电视台2日上午报道,最近该国遭遇强热浪天气,...
赛意信息(300687.SZ)... 格隆汇7月2日丨赛意信息(300687.SZ)公布,截至2025年6月30日,公司通过股份回购专用证...
比亚迪汽车:海洋网累计销售超5... 7月2日,比亚迪汽车官方微博显示,比亚迪海洋网6月热销196766辆,同比增长24.6%。2025年...
能特科技:拟以3亿元-5亿元回... 格隆汇7月2日|能特科技公告,公司拟使用自有资金及自筹资金,本次回购股份将全部用于注销并相应减少注册...