使用 ChatGPT 和 Python for VS Code 自动化编码辅助

利用 ChatGPT 和 Python 的力量,为 VS Code 构建一个定制的编码助手。在您的 IDE 中自动化解决方案、回答问题并提高生产力。

2025年2月22日

party-gif

解锁 ChatGPT 和 Python 的力量,打造您自己的个性化编码助手。本博客文章将引导您完成创建一个多功能工具的过程,该工具可以在您的开发环境中回答问题并提供见解,提高您的生产力和问题解决能力。

如何使用 ChatGPT 和 Python 构建自己的编码助手

要使用 ChatGPT API 和 Python 构建自己的编码助手,请按照以下步骤操作:

  1. 将您的 API 密钥设置为环境变量。
  2. 安装 OpenAI 库并在代码顶部导入它。
  3. 创建一个空的消息列表,代表聊天历史记录。每条消息都是一个包含两个属性的字典:"role" 和 "content"。
  4. 将一条系统消息附加到聊天历史记录中,为助手提供静默指令。
  5. 设置一个循环,使用 input() 收集用户的新消息。
  6. 构建一个新的消息字典,包含用户的输入,并将其附加到聊天历史记录中。
  7. 向聊天完成端点发出 OpenAI API 调用,传入模型 (GPT-3.5-turbo) 和聊天历史记录。
  8. 从 API 响应中提取助手回复的内容,并将其存储在一个变量中。
  9. 打印助手的回复,在开头和结尾添加几个新行。
  10. 构建一个新的消息字典,包含助手的回复,并将其附加到聊天历史记录中。
  11. 重复此过程,允许用户继续与编码助手交互。

这种设置提供了一个简单而强大的编码助手,您可以在 VS Code 中运行它,允许您直接在开发环境中获得有关代码的答案和见解。

设置环境并导入所需的库

要设置环境并导入所需的库,请按照以下步骤操作:

  1. 将您的 OpenAI API 密钥设置为环境变量。这可确保您的 API 密钥保持安全,不会在代码中暴露。

  2. 使用 pip 安装 openai 库:

    pip install openai
    
  3. 在代码顶部导入 openai 库:

    import openai
    

通过这些步骤,您已成功设置环境并导入了与 ChatGPT API 交互所需的库。

初始化聊天历史记录

要初始化聊天历史记录,我们首先创建一个名为 `messages` 的空列表。此列表将存储用户和 AI 助手之间的对话历史。

聊天历史记录中的每条消息都表示为一个包含两个键的字典:"role" 和 "content"。"role" 键指示消息的来源,可以是 "system" 表示系统指令,或 "user" 表示用户输入。"content" 键存储实际的消息文本。

我们从向 `messages` 列表添加一条 "system" 消息开始。这条消息为 AI 助手提供了上下文或对话指南。

```python
messages = []
system_message = {
    "role": "system",
    "content": "You are a helpful coding assistant."
}
messages.append(system_message)

初始化聊天历史记录后,我们可以继续进入程序的主循环,用户可以在此与 AI 助手进行交互。

收集用户输入并构建消息

要收集用户输入并构建消息,我们遵循以下步骤:

  1. 创建一个空列表来存储聊天历史记录。
  2. 构建一条 "system" 消息作为聊天历史记录的第一条消息。这条消息为助手提供了静默指令。
  3. 设置一个将无限运行的循环。
  4. 在循环内部,使用 input() 函数收集用户的新消息。
  5. 构建一个新的消息字典,包含用户的输入,并将 "role" 设置为 "user"。
  6. 将新的用户消息附加到聊天历史记录列表中。

这个过程允许我们建立对话的上下文,这将在我们调用 OpenAI API 生成响应时传递给它。

与 ChatGPT API 交互并检索响应

要与 ChatGPT API 交互并检索响应,我们将遵循以下步骤:

  1. 将 OpenAI API 密钥设置为环境变量。
  2. 安装 OpenAI 库并在代码顶部导入它。
  3. 创建一个空列表来存储聊天历史记录,其中每条消息都表示为一个包含 "role" 和 "content" 键的字典。
  4. 将一条 "system" 消息附加到聊天历史记录中,为助手提供静默指令。
  5. 设置一个循环,不断收集用户输入并将其作为 "user" 消息添加到聊天历史记录中。
  6. 向 ChatGPT 完成端点发出 API 调用,将聊天历史记录作为输入传递。
  7. 从 API 响应中提取助手响应的内容,并将其存储在一个变量中。
  8. 打印助手的响应,在开头和结尾添加一些新行以提高可读性。
  9. 构建一个新的 "assistant" 消息,包含响应内容,并将其附加到聊天历史记录中。
  10. 重复该过程,允许用户继续与编码助手交互。

显示助手的响应并更新聊天历史记录

要显示助手的响应并更新聊天历史记录,我们遵循以下步骤:

1. 从 API 调用中检索助手响应的内容:
   ```python
   reply = response.choices[0].message.content
  1. 使用一些格式打印助手的响应:

    print("\n\n" + reply + "\n\n")
    
  2. 构建一个新的消息字典来表示助手的响应:

    assistant_message = {
        "role": "assistant",
        "content": reply
    }
    
  3. 将助手的消息附加到聊天历史记录:

    messages.append(assistant_message)
    

这确保了助手的响应以清晰和可读的格式显示,并且聊天历史记录已更新,包含来自助手的新消息。更新后的聊天历史记录将在后续的 API 调用中用于为助手的响应提供上下文。

结论

在本教程中,我们学习了如何使用 ChatGPT API 和 Python 构建强大的编码助手。最终产品允许您在 VS Code 中运行脚本,提供一个有用的助手,可以回答问题并提供有关您正在编写的代码的见解。

构建此助手的关键步骤包括:

  1. 将 API 密钥设置为环境变量。
  2. 安装 OpenAI 库并将其导入到 Python 脚本中。
  3. 创建一个消息列表来表示聊天历史记录,从一条系统消息开始。
  4. 实现一个循环,不断收集用户输入并将其附加到聊天历史记录中。
  5. 向 ChatGPT 完成端点发出 API 调用,传入聊天历史记录。
  6. 从 API 中提取响应,并将其作为助手消息附加到聊天历史记录中。

通过遵循这个过程,您可以轻松地将强大的 AI 驱动的编码助手集成到您的开发工作流中,解锁新的生产力和效率水平。

FAQ