5分钟快速入门DeepSeek V3和DeepSeek R1

9,485 阅读3分钟

1. 什么是 DeepSeek?

DeepSeek 是一个强大的编码助手应用,通过 DeepSeek API,可以帮助开发者更高效地处理对话生成、文件操作和代码修改。它能读取本地文件,创建新文件,实时修改已有文件,并将所有内容以结构化的 JSON 格式返回。

如果你不想看下面冗长的介绍,而是想直接copy就用,可以参考下面代码仓库:

github.com/XiaomingX/d…

如果你觉得不错,欢迎star,fork,转发分享。

2. 主要功能简介

  1. DeepSeek 客户端配置

    • 自动配置 API 客户端,使用有效的 DEEPSEEK_API_KEY 连接 DeepSeek 服务,确保与 DeepSeek API 的无缝对接。
    • 根据指定的环境变量,动态调整 DeepSeek 端点,实时获取类似 GPT 的流式回复。
  2. 数据模型

    • 利用 Pydantic 实现类型安全的文件操作,主要包括:

      • FileToCreate:用于描述创建或更新的文件内容。
      • FileToEdit:描述对现有文件进行代码片段替换。
      • AssistantResponse:结构化的聊天回复,可能包含文件的修改指令。
  3. 系统提示

    • 系统提示会指导对话,确保每个回复都符合 JSON 格式,且包含可执行的文件操作(如文件创建或编辑)。
  4. 常用命令

    • read_local_file:读取指定文件路径的内容并返回文本。
    • create_file:创建一个新文件或覆盖现有文件,内容由用户提供。
    • show_diff_table:以表格形式展示文件修改建议,帮助你清晰了解文件差异。
    • apply_diff_edit:应用修改,将差异编辑到指定文件中。
  5. "/add" 命令

    • 使用 /add path/to/file 可以快速读取指定文件的内容,并将内容插入到对话中。
    • 使用 /add path/to/folder 可以将目录下的所有文件(排除二进制文件和隐藏文件)批量添加到对话中,方便批量处理。
  6. 对话流程

    • 所有对话会记录在 conversation_history 中,便于追溯和修改。
    • DeepSeek API 会流式传输助手的回复,并将内容解析成 JSON 格式,确保文件操作指令准确执行。
  7. 交互式会话

    • 运行 python3 main.py 启动交互式循环,进入命令行模式。
    • 输入你的问题或代码需求,使用 /add path/to/file 添加文件内容,助手会为你生成代码或修改建议。
    • 输入 "exit" 或 "quit" 退出会话。

3. 快速入门步骤

  1. 获取 API 密钥 如果你还没有 DeepSeek API 密钥,可以在 DeepSeek API 文档 上注册并申请。注册后通常会获得10元的余额。

  2. 配置 API 密钥 在项目根目录下创建一个 .env 文件,并添加你的 API 密钥:

    DEEPSEEK_KEY=你的_api_key
    
  3. 安装依赖并运行 选择以下任一方式来启动项目:

    • 使用 pip 安装

      git clone --depth 1 https://github.com/XiaomingX/deepseek-quickstart
      pip install -r requirements.txt
      python3 main.py
      
  4. 开始体验 现在你可以开始使用 DeepSeek 提供的多行流式响应功能,输入 /add path/to/file 来读取文件内容,然后进行修改,最终确认并编辑文件。

4. 深度推理版(main-r1.py)

新增 main-r1.py 脚本,采用 DeepSeek 推理模型(deepseek-reasoner),支持 “思维链” 推理(Chain of Thought, CoT):

  • 显示推理过程并给出最终答案。
  • 保留文件操作和差异编辑功能。
  • 展示推理过程,只记录最终结论。

通过 python3 main-r1.py 启动,享受增强版推理体验,帮助你更好地理解和验证答案。

注意:这是 XiaomingX 开发的实验项目,旨在测试 DeepSeek v3 API 的新功能。作为快速原型使用时,请根据需要进行调整。

5. 更多资源

  • 你可以在 DeepSeek 官方仓库 查看更多信息和文档,了解如何利用 DeepSeek 进一步优化你的开发流程。