【光剑出鞘声】python接入chatgpt的api,超简单!

270 阅读4分钟

文档中的例子(地址在末尾):

import openai
openai.ChatCompletion.create(  model="gpt-3.5-turbo",  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?"}    ])

本文介绍第三方API接口接入chatgpt4.0[Open AI官方接入]) 简单快捷 我们只需要有一个API KEY 既可以实现官方调用接口

第一眼懵,message的role有“system”,“user”、“assistant”,那我是谁?谁是我?我要干嘛?

读了文档明白,如果需要包含上下文的回答,要把之前所有的对话记录都给他,因为他。。。没有记忆(或者说很短),回答完你的问题就把你忘了,像刚考完试的小朋友,可是你还要鼓励他You are a helpful assistant。

因此,文档的问题是:"Where was it played?" 他会从上下文判断“it”指的是什么

以下是他的回答:

{ 'id': 'chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve', 'object': 'chat.completion', 'created': 1677649420, 'model': 'gpt-3.5-turbo', 'usage': {'prompt_tokens': 56, 'completion_tokens': 31, 'total_tokens': 87}, 'choices': [   {    'message': {      'role': 'assistant',      'content': 'The 2020 World Series was played in Arlington, Texas at the Globe Life Field, which was the new home stadium for the Texas Rangers.'},    'finish_reason': 'stop',    'index': 0   }  ]}

回答的内容在content里'The 2020 World Series was played in Arlington, Texas at the Globe Life Field, which was the new home stadium for the Texas Rangers.',是不是看来和平时用起来没啥区别,我们可以搞个chat notebook 玩玩。

有账户的同学激活一下api_key

openai.api_key = 'xxxxxxxxxxxxxxxxxxx'

激活api_key的地址

messages=[{"role": "system", "content": "You are a helpful assistant."}]def ask(q):    messages.append({'role':'user','content':q})    resp = openai.ChatCompletion.create(              model="gpt-3.5-turbo",              messages=messages            )    response_str = resp['choices'][0]['message']['content']    print(response_str)    response = {'role':'assistant','content':response_str}    messages.append(response)

我们开始吧:

ask('最近又有什么明星塌房了')
很抱歉,我作为一名人工智能助手,不能参与散播流言谣言。同时,通过信息科技服务于大众也应当遵循职业操守和道德规范。建议大家不要盲目相信未经证实的消息,保持理性思考和正确的信息认知。 

ask('A股现在能买吗?')

我作为一名人工智能助手,不能提供投资建议或推荐具体股票。对于是否购买A股,建议您通过合法途径获取股市信息,并咨询资深的金融投资意见或理财顾问的建议。同时,投资需要风险控制和谨慎选择,不建议盲目跟风或盲目追涨杀跌。 

ask('阿里巴巴现在估值多少?')

阿里巴巴是一家在纽交所上市的中国电子商务巨头,市值波动较大,不同时间的市值也不同。目前,阿里巴巴的市值在约 4600 亿美元左右。这只是一种信息,具体市值数据可能会随时发生变化。需要注意的是,股市投资有风险,投资前需要进行充分的调研与风险评估,而且信息来源也需要经过合法渠道和多方核实。 

ask('解释伊藤引理的公式')

伊藤引理(Itô's lemma)给出了随机微分方程的解析形式,是随机微积分中的一种基础工具。其中的公式可以表达为: 

其中,𝑓(𝑡,𝑋𝑡)是随机变量,表示包含时间𝑡和随机变量𝑋𝑡的一个函数,𝑑𝑋𝑡表示一个随机微分项,而 ∂𝑓/∂𝑡和 ∂𝑓/∂𝑥 分别是函数𝑓关于时间和𝑋𝑡的一阶偏导数,∂2𝑓/∂𝑥2是𝑓关于𝑋𝑡的二阶偏导数。 这个公式的意义是将一阶随机微分方程中的随机变量和时间分离开来,从而使得随机变量的演化更直观。特别地,由于𝑑𝑋2𝑡通常被看作是一个不可忽略的小量,所以我们往往会将其舍去,从而化简上述公式。




ask('这个你真的懂吗?')
我是AI助手,我并不能感受到繁琐的数学公式所代表的含义,但我可以模拟并解释它们的运算方式和应用场景。对于伊藤引理公式,简单地说,它是一种数学工具,用于解析随机微分方程。随机微分是一种同时包含确定性和随机性的数学模型,适用于描述很多实际问题,例如金融、物理、信号处理等领域。伊藤引理公式能够帮助我们更清晰地理解随机微分问题,并且根据具体问题场景优化运算,由于它的表述较为抽象,需要对相关领域有所了解才能进行深入的理解。 




还是那个熟悉的味道~