快速集成ChatGPT!请收藏好这份保姆级入门指南!
大家好,我是洲洲,欢迎关注,一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在****后台私信我!
本文目录
- 前言
- 第一步:创建一个项目文件夹
- 第二步:安装OpenAI API库
- 第三步:参数说明
- 第四步:基于人机交互
- 总结
前言
如果大家要在 Python 中使用 ChatGPT,需要安装 OpenAI API 客户端并获取 API 密钥。
在接下来的文章中,我们将设置一个简单的示例,在 Python 程序中使用 ChatGPT 所需的确切步骤。
第一步:创建一个项目文件夹
$ mkdir python-chatgpt
$ cd python-chatgpt
第二步:安装OpenAI API库
要为 Python 安装 OpenAI API 客户端库,您需要在系统上安装 Python 和 pip(Python 包管理器)。
要安装该库,请打开终端或命令提示符并键入以下命令:
$ pip install openai
这将安装 OpenAI API 客户端及其所有依赖项。
安装完成后,可以通过在脚本顶部添加以下行来在 Python 代码中导入该库:
import openai
接下来这样做:在项目文件夹中创建一个新文件 并首先在文件顶部插入 import 语句。
让我们进一步扩展 Python 代码并使用 OpenAI 客户端库与人工智能进行交互:
这将生成对提示“Hello, how are you today?”的响应。使用 ChatGPT 模型。响应将作为响应变量中的字符串返回。
import openai
# Set up the OpenAI API client
openai.api_key = "YOUR_API_KEY"
# Set up the model and prompt
model_engine = "text-davinci-003"
prompt = "Hello, how are you today?"
# Generate a response
completion = openai.Completion.create(
engine=model_engine,
prompt=prompt,
max_tokens=1024,
n=1,
stop=None,
temperature=0.5,
)
response = completion.choices[0].text
print(response)
第三步:参数说明
可以通过调整 temperature 参数来自定义模型的行为,该参数控制生成文本的随机性级别。较高的temperature会导致更多变化且可能不太连贯的响应,而较低的temperature会产生更可预测且可能更连贯的响应。
还可以使用 stop 参数指定一个字符串或字符串序列,如果在生成的文本中遇到这些字符串或字符串序列,将导致模型停止生成更多文本。这对于控制生成文本的长度或确保模型不会生成不适当的内容很有用。
YOUR_API_KEY 是您实际 API 密钥的占位符。
获得 API 密钥后,您需要将 Python 代码中的 YOUR_API_KEY 替换为您的实际 API 密钥。这将允许 API 客户端验证您对 OpenAI API 的请求。
让我们试试看。再次切换到命令行并通过键入以下内容来执行 Python 脚本:
$ python chat.py
在下面的屏幕截图中,您可以看到 ChatGPT 正在回答“你好,你今天好吗?”这个问题。我们已经提交:
以上只是个简单的示例,只是展示如何集成 OpenAI,并验证了是否集成成功,还不能完成基于用户输入的人机交互。
第四步:基于人机交互
接下来调整下代码如下所示:
import openai
# 初始化 OpenAI API 客户端
openai.api_key = "<你的 API Key>"
# 定义一个函数生成 ChatGPT 的回复
def generate_response(prompt):
# 调用 OpenAI API 生成回复
completions = openai.Completion.create(
engine="text-davinci-003", # 指定使用的引擎名称
prompt=prompt, # API 请求的提示信息
max_tokens=1024, # API 响应的最大令牌数
n=1, # API 请求的完成数
stop=None, # API 响应的终止标志
temperature=0.5, # API 请求的温度参数
)
# 从 API 响应中取得回复
message = completions.choices[0].text
return message
# 初始化一个变量来存储对话上下文
context = ""
# 开始一个死循环来接受用户输入
while True:
# 提示用户输入信息
user_input = input("你:")
# 如果用户输入结束命令,退出循环
if user_input in ["结束", "退出", "end", "exit"]:
break
# 把用户输入信息添加到对话上下文中
context = context + user_input + "\n"
# 调用 generate_response() 函数生成回复
response = generate_response(context)
# 显示 ChatGPT 的回复
print("ChatGPT:" + response)
# 把 ChatGPT 的回复添加到对话上下文中
context = context + response + "\n"
这是一个简单的代码示例,它支持带有上下文语境的用户交互。您可以根据自己的需求来定制代码。该代码实现了一个带有上下文语境的用户交互功能,并允许用户通过输入 “结束”,“退出”,“end” 或 “exit” 等命令结束对话。
代码中的主要部分包括:
-
初始化 OpenAI API 客户端:通过设置 API Key 来访问 OpenAI API。
-
generate_response() 函数:生成 ChatGPT 的回复。该函数使用 OpenAI API 生成回复,并返回 API 响应中的回复内容。
-
对话循环:一个死循环,接受用户输入并生成 ChatGPT 的回复。
每一次用户输入都会添加到对话上下文中,并作为提示信息传递给 generate_response() 函数,以生成与上下文相关的回复,以下是运行后的效果展示。
总结
参考文章:/
Hello,各位看官老爷们好,洲洲已经建立了****技术交流群,如果你很感兴趣,可以私信我加入我的社群。
????社群中不定时会有很多活动,例如每周都会包邮免费送一些技术书籍及精美礼品、学习资料分享、大厂面经分享、技术讨论、行业大佬创业杂谈等等。
????社群方向很多,相关领域有Web全栈(前后端)、人工智能、机器学习、自媒体变现、前沿科技文章分享、论文精读等等。
????不管你是多新手的小白,都欢迎你加入社群中讨论、聊天、分享,加速助力你成为下一个技术大佬!也随时欢迎您跟我沟通,一起交流,一起成长。变现、进步、技术、资料、项目、你想要的这里都会有
????网络的风口只会越来越大,风浪越大,鱼越贵!欢迎您加入社群~一个人可以或许可以走的很快,但一群人将走的更远!
????关注我的公众号(与****同ID:程序员洲洲)可以获得一份Java 10万字面试宝典及相关资料!~
????想都是问题,做都是答案!行动起来吧!欢迎评论区or后台与我沟通交流,也欢迎您点击下方的链接直接加入到我的交流社群!~ 跳转链接社区~