python OpenAi 多轮聊天
Openai 多轮聊天记录
介绍
请注意,调用 OpenAI 时需要使用代理,建议使用国内的代理。在使用 DevAGI 的过程中,你可以通过以下步骤快速开始调用 OpenAI 的 API。
获取 API Key
- 注册账号:访问 DevAGI 官方网站 注册账号。
- 复制 API Key:登录后,进入应用中心,复制你的 API Key。
OpenAI
在 OpenAI 中,Completions 和 Chat Completions 是两种生成语言的模型。
- 
Completions: - 主要用于生成文本。
- 通过提示(prompt)来引导模型生成相关内容。
- 模型根据输入的上下文生成连续的文本。
 
- 
Chat Completions: - 专门设计用于对话系统,支持多轮对话。
- 允许用户与模型进行交互,并根据历史消息生成响应。
- 适合于聊天机器人等应用场景。
 
这两种模型都可以用于文本生成,但 Chat Completions 更加适合处理对话式的交互。
环境准备
在项目文件夹下,安装项目依赖的包:
# 下载 OpenAI 包
pip install openai
# 安装 python-dotenv 库
# 此库用于从 .env 文件加载环境变量,以便在代码中安全地使用敏感信息,比如 API key。
pip install  dotenv
多轮聊天
from openai import OpenAI
import  os
from dotenv import load_dotenv
load_dotenv()
api_key=os.getenv('api_key')
base_url=os.getenv('base_url')
print(api_key,base_url)
client = OpenAI(
    api_key = api_key,
    base_url = base_url
)
# 初始化聊天记录
message = [{
    "role": "user",
    "content": "我是一名运维工程师",  # 用户的第一条消息
}]
# 第一次聊天
chat_completion = client.chat.completions.create(
    messages=message,
    model="gpt-3.5-turbo"  # 指定使用的模型
)
# 输出第一次聊天的结果
print(chat_completion.choices[0].message.content)
# 记录第一次聊天的回复
outresult = chat_completion.choices[0].message
message.append({'role': outresult.role, 'content': outresult.content})  # 将模型的回复添加到聊天记录中
# 第二次聊天
new_chat = {'role': 'user', 'content': "我如何成为像你一样的人"}  # 用户的第二条消息
message.append(new_chat)  # 将第二条消息添加到聊天记录中
# 进行第二次聊天
result = client.chat.completions.create(
    messages=message,
    model="gpt-3.5-turbo"  # 指定使用的模型
)
# 输出第二次聊天的结果
out_result = result.choices[0].message.content
print(out_result)  # 打印模型的回复
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号