这篇文章主要介绍了python中如何做一个连体机器人的代码,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
前言
如何使用ChatGPT API
近年来,人工智能(AI)的发展日新月异,而聊天机器人(Chatbot)则是AI领域的明星应用之一。
今天,我们将深入浅出地介绍如何使用ChatGPT API,构建属于自己的智能聊天机器人的基础python简单代码动画。
【----帮助Python学习,以下所有学习资料文末免费领!----】
一、准备工作
- 注册OpenAI账户 要使用ChatGPT API,首先需要在OpenAI官网(https://www.openai.com)上注册一个账户。
完成注册并登录后,通过(https://platform.openai.com/account)申请API密钥(API Key)。
- 安装相关依赖 在本地环境中安装Python和OpenAI Python库。使用以下命令安装:
pip install openai
二、使用OpenAI API
- 导入库和设置API密钥
在Python脚本中,导入OpenAI库并设置API密钥:
import openai# 替换为您的API密钥openai.api_key = "your-api-key"
- 调用API
现在可以调用openai
模块中的ChatCompletion类
来与ChatGPT
进行交互。
示例代码:
import openai
# 配置API密钥
openai.api_key = "your-api-key"
# 准备输入消息
messages = [
{"role": "system", "content": "你是一个 AI 助手,会回答用户关于技术的问题。"},
{"role": "user", "content": "请解释一下什么是神经网络?"}, # 在content键对应的值中输入问题文本。
]
# 调用 openai.ChatCompletion.create 函数与 GPT 进行交互
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo", # 使用 GPT-3.5 模型
messages=messages, # 输入消息列表
max_tokens=100, # 限制回复的最大长度
temperature=0.7, # 控制回复的随机性
top_p=0.9, # 控制回复时的令牌采样策略
n=1, # 生成的独立回复数量
stop_sequences=["\n"], # 回复停止生成的字符串列表
)
# 输出生成的回复
generated_reply = response.choices[0].message['content']
print("AI Assistant: ", generated_reply)
openai.ChatCompletion.create
函数用于与 OpenAI 的 ChatGPT 模型进行交互,生成基于输入消息的回复。这个函数接受多个参数,下面是其中一些关键参数及其作用的简要解释:
model
(字符串): 这个参数指定了你希望使用的预训练模型。在这种情况下,你应该使用 GPT-3.5 模型,例如"gpt-3.5-turbo"
或者其他可用的 GPT-3 模型变种。messages
(列表): 这个参数接受一个包含消息对象的列表。每个消息对象都包含一个role
(字符串,可以是"system"
、"user"
或"assistant"
)以及相应的content
(字符串,表示实际消息文本)。这些消息按顺序构成了与模型的对话历史,通常以一个系统消息开始,然后是用户和助手的互动消息。
- system 消息有助于设置助手的行为。在上面的例子中,助手被指示 “你是一个得力的助手”。
- user 消息有助于指导助手。就是用户说的话,向助手提的问题。
- assistant 消息有助于存储先前的回复。这是为了持续对话,提供会话的上下文。
max_tokens
(整数,可选): 这个参数用于限制生成回复的最大长度。其值表示生成回复中的最大令牌(token)数量。如果设置得太小,可能导致生成的回复被截断。temperature
(浮点数,可选): 这个参数用于控制生成回复时的随机性。较高的值(如 1.0)会使生成的回复更随机和多样化,而较低的值(如 0.1)会让回复更确定和一致。一般情况下,较低的值更适合生成连贯、一致的回复,而较高的值则有助于激发创意思维。top_p
(浮点数,可选): 这个参数用于控制生成回复时的令牌采样策略。它表示生成回复时,应考虑的最高概率的令牌的累积概率。较高的值(如 0.9)会考虑更多可能的令牌,而较低的值(如 0.5)会使采样范围更窄。调整此参数可以影响生成文本的多样性和质量。n
(整数,可选): 这个参数用于指定要生成的独立回复的数量。例如,如果你想要从模型获得多个不同的回复,可以将n
设置为大于 1 的值。请注意,生成多个回复可能会增加 API 请求的计算时间和成本。stop_sequences
(列表,可选): 这个参数用于指定一个字符串列表,当生成的回复遇到这些字符串中的任何一个时,回复将停止生成。这可以用来设置自定义的生成边界,以避免生成过长或无关的回复信息。
三、多轮对话示例
以下代码展示了如何实现与ChatGPT的多轮对话:
import openai
# 配置API密钥
openai.api_key = "your-api-key"
def chat_with_gpt(messages):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages,
max_tokens=1000,
temperature=0.5,
)
resp_content = response['choices'][0]['message']['content']
return resp_content
# 初始化消息列表
messages = [
{"role": "system", "content": "你是我的编程顾问。"},
{"role": "user", "content": "你好,ChatGPT!请问你能帮我回答一些问题吗?"}
]
# 进行多轮对话
while True:
response = chat_with_gpt(messages)
print(f"ChatGPT: {response}")
user_input = input("User: ")
if user_input.lower() in ["exit", "退出", "再见"]:
print("ChatGPT: 再见!期待下次与您交流。")
break
messages.append({"role": "user", "content": user_input}) # 添加ChatGPT需要上下文聊天记录。
在上面的代码中,使用一个while
循环实现多轮对话。
每次循环中,先调用chat_with_gpt
函数获取ChatGPT的回答,并将回答输出。
然后,获取用户输入的下一句话,并将其添加到messages
列表中。
如果用户输入"exit"
、"退出"
或"再见"
,循环将终止,对话结束。
代码运行效果:
ChatGPT: 当然,我很乐意回答你的问题!请问你有什么需要帮助的?
User: 深度学习和机器学习有什么区别?
ChatGPT: 深度学习和机器学习是两个密切相关的领域,但是它们有一些不同之处。
机器学习是一种人工智能的分支,它使用算法和统计模型来让计算机从数据中学习。机器学习算法可以分为监督学习、无监督学习和强化学习。监督学习是指给计算机提供带有标签的数据,让它从中学习,例如分类和回归问题。无监督学习是指给计算机提供没有标签的数据,让它去发现数据中的模式和结构,例如聚类和降维问题。强化学习是指让计算机在与环境互动的过程中学习最优的行为,例如游戏和机器人控制。
深度学习是机器学习的一种特殊形式,它使用深度神经网络来学习数据中的特征和模式。深度神经网络是一种由多个层次组成的神经网络,每一层都可以自动学习数据中的特征,并将其传递给下一层。深度学习可以应用于各种任务,例如图像识别、自然语言处理和语音识别。
因此,机器学习是一个更广泛的概念,而深度学习是机器学习的一个子集,它使用深度神经网络来进行学习。
User: 如果我的训练样本非常大,哪种方式更适合我?
ChatGPT: 深度学习和机器学习都是人工智能领域中的分支,它们有一些相同之处,但也有一些区别。
机器学习是一种通过从数据中学习来完成特定任务的方法。它可以分为监督学习、无监督学习和半监督学习。监督学习需要训练数据和标签,以便为新数据提供正确的标签。无监督学习不需要标签,而是通过发现数据中的模式和结构来学习。半监督学习则是介于两者之间,它使用带标签的数据和未标记的数据进行训练。
深度学习是机器学习的一个分支,它使用神经网络来学习数据的特征。深度学习可以自动学习特征,而不需要手动选择或提取特征。它可以用于许多任务,如图像分类、语音识别和自然语言处理等。
如果训练样本非常大,深度学习可能更适合。深度学习模型可以处理大量的数据,并且可以自动学习特征,从而减少了手动特征提取的工作量。此外,深度学习模型可以使用GPU等硬件加速训练,从而加快训练速度。但是,深度学习模型通常需要更多的计算资源和更长的训 练时间,因此需要考虑计算成本和时间成本。如果数据集较小或任务较简单,则机器学习可能更适合。
User:
四、最后
通过以上的学习,相信你已经学会了如何使用Openai
的API
与GPT
进行多轮对话。
当然,实际应用中,还可能需要根据需求调整参数、处理更复杂的场景。
此外,每次调用Openai
的API
并不是免费的。在进行API
请求时,Openai
会根据您的账户余额自动扣除相应数量的Token
。
以下是我整理的一些提升程序员自身能力的资料,都已经整理并打包好了。
Python入门全套学习资料附带源码:
学习编程前准备
全套软件安装包
附带完整的安装包的安装视频教程资源(新手大礼包已备好)
整套零基础入门视频+课件笔记
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
总结
好啦,这就是今天的内容,入门知识点资料免费发送的哈,想要的小伙伴儿不要错过,带你直
接弯道超车,少走一大波弯路,准备好了嘛?!我们要开始学习一项编程技术啦!
(没有哪个小白跟着小编是不能学会编程的。如果有,就教到你学会为止~)
资料领取
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取
好文推荐
了解python的前景:python的未来前景,超详细根据好多资料总结出来的_程序员要具备哪些专业知识-CSDN博客文章来源:https://www.toymoban.com/news/detail-790926.html
了解python的兼职:python副业介绍以及渠道推荐,接单注意事项_python能爬知识资料吗-CSDN博客文章来源地址https://www.toymoban.com/news/detail-790926.html
前言
如何使用ChatGPT API
近年来,人工智能(AI)的发展日新月异,而聊天机器人(Chatbot)则是AI领域的明星应用之一。
今天,我们将深入浅出地介绍如何使用ChatGPT API,构建属于自己的智能聊天机器人的基础python简单代码动画。
【----帮助Python学习,以下所有学习资料文末免费领!----】
一、准备工作
- 注册OpenAI账户 要使用ChatGPT API,首先需要在OpenAI官网(https://www.openai.com)上注册一个账户。
完成注册并登录后,通过(https://platform.openai.com/account)申请API密钥(API Key)。
- 安装相关依赖 在本地环境中安装Python和OpenAI Python库。使用以下命令安装:
pip install openai
二、使用OpenAI API
- 导入库和设置API密钥
在Python脚本中,导入OpenAI库并设置API密钥:
import openai# 替换为您的API密钥openai.api_key = "your-api-key"
- 调用API
现在可以调用openai
模块中的ChatCompletion类
来与ChatGPT
进行交互。
示例代码:
import openai
# 配置API密钥
openai.api_key = "your-api-key"
# 准备输入消息
messages = [
{"role": "system", "content": "你是一个 AI 助手,会回答用户关于技术的问题。"},
{"role": "user", "content": "请解释一下什么是神经网络?"}, # 在content键对应的值中输入问题文本。
]
# 调用 openai.ChatCompletion.create 函数与 GPT 进行交互
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo", # 使用 GPT-3.5 模型
messages=messages, # 输入消息列表
max_tokens=100, # 限制回复的最大长度
temperature=0.7, # 控制回复的随机性
top_p=0.9, # 控制回复时的令牌采样策略
n=1, # 生成的独立回复数量
stop_sequences=["\n"], # 回复停止生成的字符串列表
)
# 输出生成的回复
generated_reply = response.choices[0].message['content']
print("AI Assistant: ", generated_reply)
openai.ChatCompletion.create
函数用于与 OpenAI 的 ChatGPT 模型进行交互,生成基于输入消息的回复。这个函数接受多个参数,下面是其中一些关键参数及其作用的简要解释:
model
(字符串): 这个参数指定了你希望使用的预训练模型。在这种情况下,你应该使用 GPT-3.5 模型,例如"gpt-3.5-turbo"
或者其他可用的 GPT-3 模型变种。messages
(列表): 这个参数接受一个包含消息对象的列表。每个消息对象都包含一个role
(字符串,可以是"system"
、"user"
或"assistant"
)以及相应的content
(字符串,表示实际消息文本)。这些消息按顺序构成了与模型的对话历史,通常以一个系统消息开始,然后是用户和助手的互动消息。
- system 消息有助于设置助手的行为。在上面的例子中,助手被指示 “你是一个得力的助手”。
- user 消息有助于指导助手。就是用户说的话,向助手提的问题。
- assistant 消息有助于存储先前的回复。这是为了持续对话,提供会话的上下文。
max_tokens
(整数,可选): 这个参数用于限制生成回复的最大长度。其值表示生成回复中的最大令牌(token)数量。如果设置得太小,可能导致生成的回复被截断。temperature
(浮点数,可选): 这个参数用于控制生成回复时的随机性。较高的值(如 1.0)会使生成的回复更随机和多样化,而较低的值(如 0.1)会让回复更确定和一致。一般情况下,较低的值更适合生成连贯、一致的回复,而较高的值则有助于激发创意思维。top_p
(浮点数,可选): 这个参数用于控制生成回复时的令牌采样策略。它表示生成回复时,应考虑的最高概率的令牌的累积概率。较高的值(如 0.9)会考虑更多可能的令牌,而较低的值(如 0.5)会使采样范围更窄。调整此参数可以影响生成文本的多样性和质量。n
(整数,可选): 这个参数用于指定要生成的独立回复的数量。例如,如果你想要从模型获得多个不同的回复,可以将n
设置为大于 1 的值。请注意,生成多个回复可能会增加 API 请求的计算时间和成本。stop_sequences
(列表,可选): 这个参数用于指定一个字符串列表,当生成的回复遇到这些字符串中的任何一个时,回复将停止生成。这可以用来设置自定义的生成边界,以避免生成过长或无关的回复信息。
三、多轮对话示例
以下代码展示了如何实现与ChatGPT的多轮对话:
import openai
# 配置API密钥
openai.api_key = "your-api-key"
def chat_with_gpt(messages):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages,
max_tokens=1000,
temperature=0.5,
)
resp_content = response['choices'][0]['message']['content']
return resp_content
# 初始化消息列表
messages = [
{"role": "system", "content": "你是我的编程顾问。"},
{"role": "user", "content": "你好,ChatGPT!请问你能帮我回答一些问题吗?"}
]
# 进行多轮对话
while True:
response = chat_with_gpt(messages)
print(f"ChatGPT: {response}")
user_input = input("User: ")
if user_input.lower() in ["exit", "退出", "再见"]:
print("ChatGPT: 再见!期待下次与您交流。")
break
messages.append({"role": "user", "content": user_input}) # 添加ChatGPT需要上下文聊天记录。
在上面的代码中,使用一个while
循环实现多轮对话。
每次循环中,先调用chat_with_gpt
函数获取ChatGPT的回答,并将回答输出。
然后,获取用户输入的下一句话,并将其添加到messages
列表中。
如果用户输入"exit"
、"退出"
或"再见"
,循环将终止,对话结束。
代码运行效果:
ChatGPT: 当然,我很乐意回答你的问题!请问你有什么需要帮助的?
User: 深度学习和机器学习有什么区别?
ChatGPT: 深度学习和机器学习是两个密切相关的领域,但是它们有一些不同之处。
机器学习是一种人工智能的分支,它使用算法和统计模型来让计算机从数据中学习。机器学习算法可以分为监督学习、无监督学习和强化学习。监督学习是指给计算机提供带有标签的数据,让它从中学习,例如分类和回归问题。无监督学习是指给计算机提供没有标签的数据,让它去发现数据中的模式和结构,例如聚类和降维问题。强化学习是指让计算机在与环境互动的过程中学习最优的行为,例如游戏和机器人控制。
深度学习是机器学习的一种特殊形式,它使用深度神经网络来学习数据中的特征和模式。深度神经网络是一种由多个层次组成的神经网络,每一层都可以自动学习数据中的特征,并将其传递给下一层。深度学习可以应用于各种任务,例如图像识别、自然语言处理和语音识别。
因此,机器学习是一个更广泛的概念,而深度学习是机器学习的一个子集,它使用深度神经网络来进行学习。
User: 如果我的训练样本非常大,哪种方式更适合我?
ChatGPT: 深度学习和机器学习都是人工智能领域中的分支,它们有一些相同之处,但也有一些区别。
机器学习是一种通过从数据中学习来完成特定任务的方法。它可以分为监督学习、无监督学习和半监督学习。监督学习需要训练数据和标签,以便为新数据提供正确的标签。无监督学习不需要标签,而是通过发现数据中的模式和结构来学习。半监督学习则是介于两者之间,它使用带标签的数据和未标记的数据进行训练。
深度学习是机器学习的一个分支,它使用神经网络来学习数据的特征。深度学习可以自动学习特征,而不需要手动选择或提取特征。它可以用于许多任务,如图像分类、语音识别和自然语言处理等。
如果训练样本非常大,深度学习可能更适合。深度学习模型可以处理大量的数据,并且可以自动学习特征,从而减少了手动特征提取的工作量。此外,深度学习模型可以使用GPU等硬件加速训练,从而加快训练速度。但是,深度学习模型通常需要更多的计算资源和更长的训 练时间,因此需要考虑计算成本和时间成本。如果数据集较小或任务较简单,则机器学习可能更适合。
User:
四、最后
通过以上的学习,相信你已经学会了如何使用Openai
的API
与GPT
进行多轮对话。
当然,实际应用中,还可能需要根据需求调整参数、处理更复杂的场景。
此外,每次调用Openai
的API
并不是免费的。在进行API
请求时,Openai
会根据您的账户余额自动扣除相应数量的Token
。
以下是我整理的一些提升程序员自身能力的资料,都已经整理并打包好了。
Python入门全套学习资料附带源码:
学习编程前准备
全套软件安装包
附带完整的安装包的安装视频教程资源(新手大礼包已备好)
整套零基础入门视频+课件笔记
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
总结
好啦,这就是今天的内容,入门知识点资料免费发送的哈,想要的小伙伴儿不要错过,带你直
接弯道超车,少走一大波弯路,准备好了嘛?!我们要开始学习一项编程技术啦!
(没有哪个小白跟着小编是不能学会编程的。如果有,就教到你学会为止~)
资料领取
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取
好文推荐
了解python的前景:python的未来前景,超详细根据好多资料总结出来的_程序员要具备哪些专业知识-CSDN博客
了解python的兼职:python副业介绍以及渠道推荐,接单注意事项_python能爬知识资料吗-CSDN博客
到了这里,关于python能做机器人吗,python怎么做机器人的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!