no classification
no tag
no datas
posted on 2023-05-07 20:23 read(206) comment(0) like(21) collect(4)
ChatGPT 是 GPT-3 语言模型的变体,专为会话语言生成而设计。
如果要在 Python 中使用 ChatGPT,您需要安装 OpenAI API 客户端并获取 API 密钥。在本文中,我们将设置一个简单的示例,教您在 Python 程序中使用 ChatGPT 所需的确切步骤。
让我们开始吧。首先创建一个新的空项目文件夹:
- $ mkdir python-chatgpt
- $ cd python-chatgpt
在下一步中,我们需要为 Python 安装 OpenAI API 相关库。
要为 Python 安装 OpenAI API 客户端库,您需要在系统上安装 Python 和 pip(Python 包管理器)。
要安装该库,请打开终端或命令提示符并键入以下命令:
$ pip install openai
这将安装 OpenAI API 客户端及其所有依赖项。
安装完成后,您可以通过在脚本顶部添加以下行来在 Python 代码中导入该库:
import openai
接下来我们这样做:在项目文件夹中创建一个新文件 chat.py 并首先在文件顶部插入 import 语句。
让我们进一步扩展 Python 代码并使用 OpenAI 客户端库与人工智能进行交互:
- 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)
这将生成对提示“Hello, how are you today?”的响应。使用 ChatGPT 模型。响应将作为响应变量中的字符串返回。
您可以通过调整 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() 函数,以生成与上下文相关的回复,以下是运行后的效果展示。
今天的分享就到这里,感兴趣的话,还是建议大家亲自动手尝试下,还是蛮有趣的。感谢你的阅读,如果你喜欢我的分享,别忘了点赞转发,让更多的人看到,最后别忘记关注「前端达人」,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。
Author:python98k
link:http://www.pythonblackhole.com/blog/article/302/f3ef256b843eaa831de6/
source:python black hole net
Please indicate the source for any form of reprinting. If any infringement is discovered, it will be held legally responsible.
name:
Comment content: (supports up to 255 characters)
Copyright © 2018-2021 python black hole network All Rights Reserved All rights reserved, and all rights reserved.京ICP备18063182号-7
For complaints and reports, and advertising cooperation, please contact vgs_info@163.com or QQ3083709327
Disclaimer: All articles on the website are uploaded by users and are only for readers' learning and communication use, and commercial use is prohibited. If the article involves pornography, reactionary, infringement and other illegal information, please report it to us and we will delete it immediately after verification!