python OpenAi 多轮聊天

Openai 多轮聊天记录

介绍

请注意,调用 OpenAI 时需要使用代理,建议使用国内的代理。在使用 DevAGI 的过程中,你可以通过以下步骤快速开始调用 OpenAI 的 API。

获取 API Key

  1. 注册账号:访问 DevAGI 官方网站 注册账号。
  2. 复制 API Key:登录后,进入应用中心,复制你的 API Key。

OpenAI

在 OpenAI 中,CompletionsChat Completions 是两种生成语言的模型。

  1. Completions

    • 主要用于生成文本。
    • 通过提示(prompt)来引导模型生成相关内容。
    • 模型根据输入的上下文生成连续的文本。
  2. 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)  # 打印模型的回复
posted @ 2025-03-15 21:17  xiaoganghu  阅读(582)  评论(0)    收藏  举报