Jupyter Notebook与VS Code高效开发配置

8.1 开发环境概述

8.1.1 为什么需要高效的开发环境?

在智能体开发过程中,一个高效的开发环境可以:

  • 提高开发效率:减少重复操作,加快代码编写和测试
  • 增强调试能力:提供更好的代码调试和错误定位功能
  • 改善代码质量:通过代码提示、格式化等功能提高代码质量
  • 方便协作:便于团队成员之间的代码共享和协作
  • 简化环境管理:更好地管理依赖和环境配置

8.1.2 Jupyter Notebook vs VS Code

特性 Jupyter Notebook VS Code
交互性 强,支持交互式代码执行 中,需要配置才能实现类似功能
可视化 强,内置图表渲染 中,需要安装扩展
代码编辑 中,基础编辑功能 强,丰富的代码编辑功能
调试能力 弱,调试功能有限 强,强大的调试工具
项目管理 弱,适合单文件开发 强,适合大型项目管理
扩展性 中,通过插件扩展 强,丰富的扩展生态

8.2 Jupyter Notebook配置

8.2.1 安装Jupyter Notebook

  1. 使用pip安装

    pip install jupyter
  2. 使用conda安装

    conda install jupyter
  3. 安装JupyterLab(推荐)

    pip install jupyterlab

8.2.2 启动Jupyter Notebook

  1. 启动命令

    # 启动Jupyter Notebook
    jupyter notebook
    
    # 启动JupyterLab
    jupyter lab
  2. 配置启动目录

    jupyter notebook --notebook-dir=/path/to/your/project
  3. 配置端口

    jupyter notebook --port=8888

8.2.3 插件安装与配置

  1. 安装nbextensions

    pip install jupyter_contrib_nbextensions
    jupyter contrib nbextension install --user
  2. 常用nbextensions

    • **Table of Contents (2)**:生成目录
    • Code prettify:代码格式化
    • ExecuteTime:显示代码执行时间
    • ** Hinterland**:代码自动补全
    • Snippets:代码片段管理
  3. 配置Jupyter主题

    pip install jupyterthemes
    jt -t monokai -f fira -fs 13 -cellw 90% -ofs 11 -dfs 11 -T

8.2.4 Jupyter Notebook实用技巧

  1. 快捷键

    • Shift + Enter:运行单元格并移到下一个
    • Ctrl + Enter:运行单元格
    • Alt + Enter:运行单元格并插入新单元格
    • Esc:进入命令模式
    • Enter:进入编辑模式
    • A:在上方插入单元格
    • B:在下方插入单元格
    • D, D:删除单元格
    • M:转换为Markdown单元格
    • Y:转换为代码单元格
  2. 魔法命令

    • %run:运行外部Python文件
    • %load:加载外部Python文件
    • %pwd:显示当前工作目录
    • %ls:列出当前目录文件
    • %env:显示环境变量
    • %time:测量代码执行时间
    • %timeit:多次执行并测量平均执行时间
    • %%writefile:将单元格内容写入文件
  3. 数据可视化

    import matplotlib.pyplot as plt
    %matplotlib inline
    
    # 绘制图表
    plt.plot([1, 2, 3, 4])
    plt.ylabel('some numbers')
    plt.show()

8.3 VS Code配置

8.3.1 安装VS Code

  1. 下载安装:访问VS Code官网下载并安装
  2. 系统要求
    • Windows 7及以上
    • macOS 10.11及以上
    • Linux (Debian/Ubuntu, Red Hat/Fedora, Arch)

8.3.2 安装Python扩展

  1. 安装Python扩展

    • 打开VS Code
    • 点击左侧扩展图标
    • 搜索"Python"
    • 安装Microsoft官方的Python扩展
  2. Python扩展功能

    • 代码补全和智能提示
    • 代码 linting 和格式化
    • 调试支持
    • 测试支持
    • Jupyter Notebook集成

8.3.3 配置Python环境

  1. 选择Python解释器

    • 点击VS Code左下角的Python版本
    • 选择合适的Python解释器
    • 或使用命令面板(Ctrl+Shift+P)运行"Python: Select Interpreter"
  2. 配置虚拟环境

    • 自动检测已有的虚拟环境
    • 可以直接选择Poetry或Conda创建的环境
  3. 设置默认环境

    • 在项目根目录创建.vscode/settings.json文件
    • 添加以下配置:
      {
        "python.pythonPath": "/path/to/your/venv/bin/python"
      }

8.3.4 安装智能体开发相关扩展

  1. 必装扩展

    • Python:核心Python支持
    • Jupyter:Jupyter Notebook集成
    • Pylance:增强的Python语言服务器
    • GitHub Copilot:AI辅助编程(可选)
    • GitLens:增强的Git功能
  2. 推荐扩展

    • Code Spell Checker:代码拼写检查
    • Prettier:代码格式化
    • Bracket Pair Colorizer:括号颜色标识
    • Path Intellisense:路径自动补全
    • Error Lens:内联错误显示
    • Todo Tree:TODO注释管理

8.3.5 VS Code配置文件

  1. 用户设置

    • 打开设置(File > Preferences > Settings)
    • 搜索并配置以下选项:
      • python.linting.enabled:启用代码检查
      • python.formatting.provider:设置代码格式化工具
      • editor.formatOnSave:保存时自动格式化
      • editor.codeActionsOnSave:保存时自动修复问题
  2. 工作区设置

    • 在项目根目录创建.vscode/settings.json文件
    • 配置项目特定的设置:
      {
        "python.pythonPath": "/path/to/venv/bin/python",
        "python.linting.enabled": true,
        "python.linting.pylintEnabled": true,
        "python.formatting.provider": "black",
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
          "source.organizeImports": true
        }
      }

8.3.6 VS Code实用技巧

  1. 快捷键

    • Ctrl + Shift + P:打开命令面板
    • Ctrl + P:快速打开文件
    • Ctrl + Shift + N:打开新窗口
    • Ctrl + Shift + W:关闭窗口
    • Ctrl + F:查找
    • Ctrl + H:替换
    • F5:开始调试
    • Shift + F5:停止调试
    • F10:单步跳过
    • F11:单步进入
  2. 代码编辑技巧

    • 多行编辑:按住Alt键并点击鼠标
    • 代码折叠:点击代码左侧的折叠图标
    • 代码跳转:按住Ctrl键并点击函数或变量
    • 代码重构:选中代码后右键选择"重构"
    • 代码片段:输入片段前缀后按Tab键
  3. 终端集成

    • `Ctrl + ``:打开/关闭集成终端
    • `Ctrl + Shift + ``:创建新终端
    • 支持多个终端标签
    • 可以在终端中直接运行Python代码

8.4 Jupyter Notebook与VS Code集成

8.4.1 在VS Code中使用Jupyter Notebook

  1. 创建Jupyter Notebook

    • 点击"文件 > 新建文件"
    • 选择"Jupyter Notebook"
    • 或直接创建.ipynb文件
  2. 编辑和运行代码

    • 在代码单元格中输入代码
    • 点击单元格左侧的运行按钮
    • 或使用快捷键Shift + Enter
  3. 查看输出

    • 代码执行结果会显示在单元格下方
    • 支持图表和交互式输出

8.4.2 在VS Code中调试Jupyter Notebook

  1. 设置断点:点击代码行号左侧设置断点
  2. 开始调试:右键点击单元格,选择"调试单元格"
  3. 单步执行:使用调试工具栏进行单步执行
  4. 查看变量:在调试面板中查看变量值

8.4.3 导出和共享Notebook

  1. 导出格式

    • HTML
    • PDF
    • Markdown
    • Python文件
  2. 导出方法

    • 在Jupyter Notebook中:"文件 > 下载为"
    • 在VS Code中:右键点击Notebook文件,选择"导出"
  3. 共享方法

    • GitHub:直接上传.ipynb文件
    • nbviewer:通过URL分享Notebook
    • Binder:创建可交互的Notebook环境

8.5 智能体开发的项目结构

8.5.1 推荐的项目结构

ai-agent-project/
├── .vscode/                # VS Code配置
│   └── settings.json       # 工作区设置
├── notebooks/              # Jupyter Notebook文件
│   ├── 01-exploration.ipynb    # 探索性分析
│   ├── 02-prototype.ipynb      # 原型开发
│   └── 03-evaluation.ipynb     # 模型评估
├── src/                    # 源代码
│   ├── agent/              # 智能体核心代码
│   │   ├── __init__.py
│   │   ├── base_agent.py   # 基础智能体类
│   │   ├── memory.py       # 记忆系统
│   │   └── tools.py        # 工具定义
│   ├── utils/              # 工具函数
│   │   ├── __init__.py
│   │   └── helpers.py
│   └── __init__.py
├── tests/                  # 测试代码
│   ├── test_agent.py
│   └── test_tools.py
├── .env                    # 环境变量
├── .gitignore              # Git忽略文件
├── README.md               # 项目说明
├── pyproject.toml          # Poetry配置
└── requirements.txt        # 依赖列表

8.5.2 配置文件管理

  1. .gitignore文件

    # 环境文件
    .env
    .venv/
    
    # IDE文件
    .vscode/
    .idea/
    
    # 操作系统文件
    .DS_Store
    Thumbs.db
    
    # 日志文件
    logs/
    *.log
    
    # 数据文件
    data/
    
    # 构建文件
    dist/
    build/
    *.egg-info/
  2. README.md模板

    # AI智能体项目
    
    项目简介
    
    ## 环境要求
    - Python 3.10+
    - 依赖见requirements.txt
    
    ## 安装
    ```bash
    # 克隆仓库
    git clone https://github.com/yourusername/ai-agent-project.git
    cd ai-agent-project
    
    # 安装依赖
    pip install -r requirements.txt
    # 或使用Poetry
    poetry install

    配置

    1. 复制.env.example.env
    2. 填写API密钥等配置

    使用

    # 运行示例
    python src/example.py
    
    # 启动Jupyter Notebook
    jupyter notebook

    项目结构

    • src/:源代码
    • notebooks/:Jupyter Notebook文件
    • tests/:测试代码

8.6 开发工作流优化

8.6.1 开发流程建议

  1. 探索阶段

    • 使用Jupyter Notebook进行快速原型开发
    • 测试不同的模型和参数
    • 可视化数据和结果
  2. 开发阶段

    • 在VS Code中编写模块化代码
    • 使用版本控制管理代码变更
    • 编写单元测试
  3. 测试阶段

    • 运行测试套件
    • 进行集成测试
    • 性能评估
  4. 部署阶段

    • 打包代码
    • 配置部署环境
    • 监控和维护

8.6.2 代码质量保证

  1. 代码风格

    • 遵循PEP 8编码规范
    • 使用Black进行代码格式化
    • 使用isort整理导入语句
  2. 代码检查

    • 使用pylint进行代码分析
    • 使用mypy进行类型检查
    • 使用flake8进行代码风格检查
  3. 测试覆盖率

    • 使用pytest进行测试
    • 使用coverage.py测量测试覆盖率
    • 目标覆盖率:80%以上

8.6.3 效率提升技巧

  1. 使用代码片段

    • 在VS Code中创建自定义代码片段
    • 快速插入常用代码模板
  2. 使用快捷键

    • 学习和使用常用快捷键
    • 提高代码编辑速度
  3. 使用多光标编辑

    • 同时编辑多个位置
    • 减少重复操作
  4. 使用Git集成

    • 在VS Code中直接使用Git功能
    • 定期提交代码变更
  5. 使用扩展工具

    • 安装和使用适合的扩展
    • 提高开发效率

8.7 实用案例:智能体开发环境搭建

8.7.1 案例目标

搭建一个完整的智能体开发环境,包括Jupyter Notebook和VS Code配置。

8.7.2 实现步骤

  1. 创建项目目录

    mkdir -p ai-agent-dev/notebooks ai-agent-dev/src/agent ai-agent-dev/src/utils ai-agent-dev/tests
    cd ai-agent-dev
  2. 初始化Poetry项目

    poetry init
    poetry add langchain openai python-dotenv jupyter matplotlib
    poetry add --group dev pytest black isort flake8 mypy
  3. 配置VS Code

    • 创建.vscode/settings.json
      {
        "python.pythonPath": ".venv/bin/python",
        "python.linting.enabled": true,
        "python.linting.pylintEnabled": true,
        "python.formatting.provider": "black",
        "editor.formatOnSave": true,
        "editor.codeActionsOnSave": {
          "source.organizeImports": true
        }
      }
  4. 创建Jupyter Notebook

    • notebooks/目录中创建01-agent-prototype.ipynb
      # 导入必要的库
      from langchain.chat_models import ChatOpenAI
      from langchain.prompts import ChatPromptTemplate
      import os
      from dotenv import load_dotenv
      
      # 加载环境变量
      load_dotenv()
      
      # 初始化模型
      llm = ChatOpenAI(
          model="gpt-3.5-turbo",
          temperature=0.7
      )
      
      # 创建提示模板
      prompt = ChatPromptTemplate.from_template(
          "你是一个友好的AI助手,请回答以下问题:{question}"
      )
      
      # 测试模型
      response = llm(prompt.format_messages(question="什么是AI智能体?"))
      print(response.content)
  5. 创建Python模块

    • src/agent/base_agent.py中创建基础智能体类:
      from langchain.chat_models import ChatOpenAI
      from langchain.prompts import ChatPromptTemplate
      
      class BaseAgent:
          def __init__(self, model="gpt-3.5-turbo", temperature=0.7):
              self.llm = ChatOpenAI(
                  model=model,
                  temperature=temperature
              )
          
          def generate_response(self, prompt, **kwargs):
              """生成响应"""
              chat_prompt = ChatPromptTemplate.from_template(prompt)
              response = self.llm(chat_prompt.format_messages(**kwargs))
              return response.content
  6. 测试开发环境

    • 在VS Code中运行测试脚本
    • 在Jupyter Notebook中测试智能体功能

8.7.3 案例分析

  • 环境搭建:创建了完整的项目结构和开发环境
  • 工具配置:配置了Jupyter Notebook和VS Code
  • 代码组织:采用模块化的代码组织方式
  • 工作流:建立了从探索到开发的完整工作流

8.8 小结与展望

8.8.1 本集要点回顾

  • 介绍了Jupyter Notebook和VS Code的安装与配置
  • 详细讲解了智能体开发相关的扩展和工具
  • 提供了推荐的项目结构和开发工作流
  • 分享了代码质量保证和效率提升的技巧
  • 实践了完整的智能体开发环境搭建

8.8.2 后续学习方向

  • 学习使用Git进行版本控制
  • 了解LangSmith和LangFuse等智能体调试工具
  • 开始实际的智能体开发实践
  • 学习提示词工程技巧,优化模型输出
  • 探索智能体的高级功能和应用场景
« 上一篇 大模型API密钥获取与配置(OpenAI、智谱、千问等) 下一篇 » 版本控制:使用Git管理智能体项目代码