AI大模型应用开发工具与Jupyter Notebook课程笔记
📚 课程概览
本系列课程共3节,介绍AI大模型应用开发所需的工具环境搭建和Jupyter Notebook的使用方法:
| 课程编号 | 课程标题 | 时长 | 核心内容 |
|---|---|---|---|
| 052 | 工具安装 | 做AI大模型应用开发,需要些啥? | 3分43秒 | Python环境、Anaconda、必要库安装 |
| 053 | Jupyter Notebook使用 | 上手金刚钻 | 4分54秒 | Jupyter基础操作、Cell类型、运行代码 |
| 054 | Jupyter Notebook使用 | 更多上手金刚钻 | 4分3秒 | 进阶功能、魔法命令、快捷键、调试技巧 |
第一课:AI大模型应用开发工具安装
1.1 开发环境概述
AI大模型应用开发需要以下核心组件:
┌─────────────────────────────────────────┐
│ AI大模型应用开发环境 │
├─────────────────────────────────────────┤
│ Python 3.8+ │
│ ├── Anaconda/Miniconda(环境管理) │
│ ├── Jupyter Notebook(开发工具) │
│ └── 必要Python库 │
│ ├── openai / anthropic │
│ ├── langchain │
│ ├── transformers │
│ └── torch / tensorflow │
└─────────────────────────────────────────┘
1.2 Python环境安装
方案一:Anaconda(推荐初学者)
Anaconda是数据科学和AI开发的完整发行版,包含:
- Python解释器
- 常用科学计算库(NumPy, Pandas, Matplotlib等)
- conda包管理器
- Jupyter Notebook
安装步骤:
-
下载Anaconda
- 官网:https://www.anaconda.com/download
- 选择对应操作系统的版本(Windows/macOS/Linux)
- 推荐下载Python 3.10+版本
-
安装Anaconda
# Windows: 双击安装程序,勾选"Add to PATH" # macOS: 双击.pkg文件安装 # Linux: 运行bash脚本 bash Anaconda3-2024.xx-Linux-x86_64.sh -
验证安装
conda --version python --version
方案二:Miniconda(轻量级)
Miniconda只包含conda和Python,体积更小:
# 下载并安装Miniconda
# 然后手动安装所需包
conda install python=3.11
conda install jupyter
conda install numpy pandas matplotlib
1.3 必要Python库安装
核心AI/ML库
# OpenAI API
pip install openai
# LangChain框架
pip install langchain
pip install langchain-openai
# Hugging Face Transformers
pip install transformers
pip install datasets
# 深度学习框架(二选一或都装)
pip install torch
# 或
pip install tensorflow
# 向量数据库(可选)
pip install chromadb
pip install faiss-cpu
实用工具库
# 环境变量管理
pip install python-dotenv
# HTTP请求
pip install requests
# 数据处理
pip install pandas
pip install numpy
# 可视化
pip install matplotlib
pip install plotly
1.4 环境配置最佳实践
使用Conda创建隔离环境
# 创建新环境
conda create -n ai-dev python=3.11
# 激活环境
conda activate ai-dev
# 在环境中安装包
pip install openai langchain jupyter
# 退出环境
conda deactivate
# 删除环境
conda remove -n ai-dev --all
使用requirements.txt管理依赖
创建requirements.txt文件:
openai>=1.0.0
langchain>=0.1.0
langchain-openai>=0.0.5
python-dotenv>=1.0.0
jupyter>=7.0.0
pandas>=2.0.0
numpy>=1.24.0
matplotlib>=3.7.0
安装依赖:
pip install -r requirements.txt
1.5 API密钥配置
使用环境变量管理密钥
-
创建.env文件(在项目根目录)
# .env文件 OPENAI_API_KEY=sk-your-api-key-here ANTHROPIC_API_KEY=sk-ant-your-key-here -
在代码中加载
from dotenv import load_dotenv import os load_dotenv() # 加载.env文件 openai_key = os.getenv('OPENAI_API_KEY') -
添加到.gitignore
# .gitignore .env *.key api_keys.txt
⚠️ 安全提醒:永远不要将API密钥提交到Git仓库!
第二课:Jupyter Notebook基础使用
2.1 Jupyter Notebook简介
Jupyter Notebook是交互式编程环境,特点:
- 📝 支持代码、文本、图表混合编写
- ▶️ 代码分块(Cell)执行,便于调试
- 📊 直接在浏览器中显示图表和可视化结果
- 💾 保存为.ipynb文件,可分享和复现
2.2 启动Jupyter Notebook
# 激活环境
conda activate ai-dev
# 启动Jupyter
jupyter notebook
# 或指定端口
jupyter notebook --port 8888
# 不自动打开浏览器
jupyter notebook --no-browser
启动后会显示:
http://localhost:8888/?token=your_token_here
2.3 Jupyter界面介绍
┌─────────────────────────────────────────────────────┐
│ Jupyter Notebook 界面 │
├─────────────────────────────────────────────────────┤
│ 📁 文件浏览器(左侧/首页) │
│ - 新建Notebook │
│ - 上传文件 │
│ - 文件夹导航 │
├─────────────────────────────────────────────────────┤
│ 📝 Notebook编辑界面 │
│ ┌───────────────────────────────────────────────┐ │
│ │ 菜单栏:File Edit View Insert Cell Kernel... │ │
│ ├───────────────────────────────────────────────┤ │
│ │ 工具栏:保存 添加Cell 剪切 复制 运行... │ │
│ ├───────────────────────────────────────────────┤ │
│ │ Cell 1 [In]: import pandas as pd │ │
│ │ df = pd.DataFrame(...) │ │
│ ├───────────────────────────────────────────────┤ │
│ │ Cell 2 [Out]: 输出结果显示在这里 │ │
│ ├───────────────────────────────────────────────┤ │
│ │ Cell 3 [In]: # 下一个代码块 │ │
│ └───────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────┘
2.4 Cell类型详解
Jupyter中有三种主要Cell类型:
1. Code Cell - 代码单元格
# 这是Code Cell
import openai
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
运行快捷键:
Shift + Enter:运行当前Cell并跳到下一个Ctrl + Enter:运行当前Cell并停留在当前Alt + Enter:运行当前Cell并在下方插入新Cell
2. Markdown Cell - 文本单元格
用于编写说明文档,支持Markdown语法:
# 一级标题
## 二级标题
**粗体文字** 和 *斜体文字*
- 列表项1
- 列表项2
[链接文字](https://example.com)

`行内代码`
```python
# 代码块
print("Hello")
**切换Cell类型**:
- 选中Cell后按 `Y` → 切换为Code Cell
- 选中Cell后按 `M` → 切换为Markdown Cell
#### 3. Raw Cell - 原始单元格
用于保存原始文本,不会被渲染,常用于:
- 导出为其他格式时的特殊标记
- 保留原始代码片段
### 2.5 常用菜单功能
| 菜单 | 功能 | 常用操作 |
|-----|------|---------|
| **File** | 文件操作 | New Notebook, Save, Download as |
| **Edit** | 编辑操作 | Cut Cells, Copy Cells, Merge Cells |
| **View** | 视图操作 | Toggle Line Numbers, Toggle Toolbar |
| **Insert** | 插入操作 | Insert Cell Above/Below |
| **Cell** | Cell操作 | Run Cells, Cell Type, Current Outputs |
| **Kernel** | 内核操作 | Restart, Interrupt, Change kernel |
### 2.6 内核(Kernel)管理
**什么是Kernel?**
- Kernel是执行代码的后台进程
- 每个Notebook对应一个独立的Kernel
- Kernel重启会清空所有变量
**常用Kernel操作**:
Kernel菜单:
├── Interrupt # 中断当前执行(Ctrl+C效果)
├── Restart # 重启Kernel(清空所有变量)
├── Restart & Clear Output # 重启并清空输出
├── Restart & Run All # 重启并运行所有Cell
└── Shutdown # 关闭Kernel
---
## 第三课:Jupyter Notebook进阶使用(054)
### 3.1 魔法命令(Magic Commands)
魔法命令以`%`(行魔法)或`%%`(单元魔法)开头,提供特殊功能。
#### 常用行魔法命令
```python
# 查看所有魔法命令
%lsmagic
# 查看变量信息
%who # 列出所有变量
%whos # 列出变量详细信息
%who_ls # 以列表形式返回变量名
# 时间测量
%time x = sum(range(1000000)) # 测量单次执行时间
%timeit x = sum(range(1000000)) # 多次测量取平均
# 系统命令
%pwd # 显示当前目录
%ls # 列出文件
%cd /path # 切换目录
%mkdir dir # 创建目录
# 运行外部脚本
%run script.py
%load script.py # 将脚本内容加载到Cell
# 性能分析
%prun function() # 代码性能分析
常用单元魔法命令
# %%time - 测量整个Cell的执行时间
%%time
import time
time.sleep(1)
print("Done")
# %%writefile - 将Cell内容写入文件
%%writefile hello.py
print("Hello, World!")
def greet(name):
return f"Hello, {name}!"
# %%bash - 运行bash命令(Linux/macOS)
%%bash
echo "Current directory:"
pwd
ls -la
# %%html - 渲染HTML
%%html
<h3 style="color: blue;">蓝色标题</h3>
# %%latex - 渲染LaTeX公式
%%latex
$$E = mc^2$$
# %%javascript - 运行JavaScript
%%javascript
alert('Hello from Jupyter!');
3.2 快捷键大全
命令模式快捷键(按Esc进入)
| 快捷键 | 功能 |
|---|---|
Enter |
进入编辑模式 |
↑ / ↓ |
选择上下Cell |
A |
在当前Cell上方插入新Cell |
B |
在当前Cell下方插入新Cell |
DD |
删除当前Cell(按两次D) |
Z |
撤销删除 |
Y |
切换为Code Cell |
M |
切换为Markdown Cell |
R |
切换为Raw Cell |
Shift + ↑/↓ |
选中多个Cell |
Shift + M |
合并选中的Cell |
Ctrl + Shift + - |
在光标处拆分Cell |
L |
显示/隐藏行号 |
O |
显示/隐藏输出 |
Shift + O |
切换输出滚动 |
II |
中断Kernel(按两次I) |
00 |
重启Kernel(按两次0) |
Shift + Space |
向上滚动 |
Space |
向下滚动 |
S |
保存Notebook |
F |
查找替换 |
编辑模式快捷键(按Enter进入)
| 快捷键 | 功能 |
|---|---|
Esc |
进入命令模式 |
Tab |
代码补全或缩进 |
Shift + Tab |
显示函数帮助文档 |
Ctrl + ] |
缩进 |
Ctrl + [ |
取消缩进 |
Ctrl + A |
全选 |
Ctrl + Z |
撤销 |
Ctrl + Shift + Z |
重做 |
Ctrl + Home |
跳到Cell开头 |
Ctrl + End |
跳到Cell末尾 |
Ctrl + Left/Right |
按词移动光标 |
Ctrl + Shift + - |
拆分Cell |
3.3 数据可视化集成
Matplotlib集成
# 在Notebook中显示图表
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.figure(figsize=(10, 6))
plt.plot(x, y, 'b-', label='sin(x)')
plt.title('Sine Wave')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.show()
交互式图表(ipywidgets)
# 安装ipywidgets
# pip install ipywidgets
import ipywidgets as widgets
from IPython.display import display
# 创建滑块
slider = widgets.IntSlider(
value=50,
min=0,
max=100,
step=1,
description='数值:'
)
display(slider)
# 获取滑块值
print(f"当前值: {slider.value}")
3.4 调试技巧
使用pdb调试器
# 在代码中设置断点
import pdb
def calculate(x, y):
result = x + y
pdb.set_trace() # 在这里暂停
result = result * 2
return result
calculate(5, 3)
pdb常用命令:
n(next):执行下一行s(step):进入函数c(continue):继续执行p variable:打印变量值l(list):显示当前代码q(quit):退出调试
使用%debug魔法命令
# 当代码抛出异常时,使用%debug进入事后调试
def divide(a, b):
return a / b
divide(10, 0) # 这里会抛出ZeroDivisionError
# 在下一个Cell中运行
%debug
# 进入调试模式,可以查看变量和堆栈
3.5 Notebook扩展功能
安装Jupyter扩展
# 安装jupyter_contrib_nbextensions
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
# 安装nbextensions配置界面
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user
推荐扩展
| 扩展名 | 功能 |
|---|---|
| Table of Contents | 自动生成目录 |
| Codefolding | 代码折叠 |
| ExecuteTime | 显示Cell执行时间 |
| Variable Inspector | 变量检查器 |
| Hinterland | 自动代码补全 |
| Snippets | 代码片段 |
3.6 Notebook导出与分享
导出格式
# 导出为Python脚本
jupyter nbconvert --to script notebook.ipynb
# 导出为HTML
jupyter nbconvert --to html notebook.ipynb
# 导出为PDF(需要安装LaTeX)
jupyter nbconvert --to pdf notebook.ipynb
# 导出为Markdown
jupyter nbconvert --to markdown notebook.ipynb
# 导出为幻灯片
jupyter nbconvert --to slides notebook.ipynb
在线分享
- GitHub:直接上传.ipynb文件,GitHub会自动渲染
- nbviewer:https://nbviewer.jupyter.org/
输入Notebook URL即可在线查看 - Google Colab:https://colab.research.google.com/
免费GPU/TPU,适合深度学习 - Binder:https://mybinder.org/
从GitHub仓库生成可运行的环境
📝 综合实践案例
案例1:AI对话应用开发流程
# Cell 1: 导入库
import os
from dotenv import load_dotenv
from openai import OpenAI
# Cell 2: 加载API密钥
load_dotenv()
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))
# Cell 3: 定义对话函数
def chat_with_gpt(prompt, model="gpt-3.5-turbo"):
"""与GPT模型对话"""
response = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "你是一个 helpful 助手。"},
{"role": "user", "content": prompt}
]
)
return response.choices[0].message.content
# Cell 4: 测试对话
result = chat_with_gpt("请用一句话解释什么是机器学习")
print(result)
# Cell 5: 批量处理
topics = ["机器学习", "深度学习", "神经网络", "自然语言处理"]
for topic in topics:
explanation = chat_with_gpt(f"请用一句话解释什么是{topic}")
print(f"{topic}: {explanation}\n")
案例2:数据分析与可视化
# Cell 1: 导入库
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
# Cell 2: 创建示例数据
np.random.seed(42)
data = {
'月份': ['1月', '2月', '3月', '4月', '5月', '6月'],
'销售额': np.random.randint(100, 500, 6),
'用户数': np.random.randint(1000, 5000, 6)
}
df = pd.DataFrame(data)
df
# Cell 3: 数据分析
print("数据统计:")
print(df.describe())
# Cell 4: 可视化
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 5))
# 销售额柱状图
ax1.bar(df['月份'], df['销售额'], color='skyblue')
ax1.set_title('月度销售额')
ax1.set_ylabel('销售额(万元)')
# 用户数折线图
ax2.plot(df['月份'], df['用户数'], marker='o', color='green')
ax2.set_title('月度用户数')
ax2.set_ylabel('用户数')
plt.tight_layout()
plt.show()
# Cell 5: 保存结果
df.to_csv('sales_data.csv', index=False)
print("数据已保存到 sales_data.csv")
案例3:使用Jupyter进行模型实验
# Cell 1: 实验配置
EXPERIMENT_NAME = "gpt-prompt-optimization"
MODEL = "gpt-3.5-turbo"
TEMPERATURE = 0.7
# Cell 2: 定义不同的prompt模板
templates = {
"direct": "{question}",
"with_context": "请基于以下背景回答问题:\n背景:{context}\n问题:{question}",
"step_by_step": "请逐步思考并回答问题:\n{question}\n请按步骤分析:"
}
# Cell 3: 测试问题
test_questions = [
"如何提高Python代码性能?",
"解释递归函数的工作原理"
]
# Cell 4: 运行实验并记录结果
results = []
for template_name, template in templates.items():
for question in test_questions:
prompt = template.format(question=question, context="一般编程场景")
# 调用API
response = chat_with_gpt(prompt)
# 记录结果
results.append({
'template': template_name,
'question': question,
'prompt': prompt,
'response': response
})
# Cell 5: 查看结果
results_df = pd.DataFrame(results)
results_df[['template', 'question', 'response']]
# Cell 6: 导出实验记录
results_df.to_json(f'{EXPERIMENT_NAME}_results.json', orient='records', force_ascii=False, indent=2)
⚠️ 常见问题与解决方案
问题1:Kernel无法启动
现象:Kernel Error 或一直显示 Kernel Starting
解决方案:
# 1. 重启Jupyter服务
# 2. 检查环境配置
conda activate ai-dev
pip install --upgrade ipykernel
# 3. 重新安装kernel
python -m ipykernel install --user --name=ai-dev --force
问题2:模块找不到
现象:ModuleNotFoundError: No module named 'xxx'
解决方案:
# 确保在正确的环境中安装
conda activate ai-dev
pip install xxx
# 或在Notebook中直接安装
!pip install xxx
问题3:Notebook无法保存
现象:Notebook changed on disk
解决方案:
- 检查文件权限
- 关闭其他编辑器中的同名文件
- 使用
File → Save As另存为
问题4:输出太长导致卡顿
解决方案:
# 限制输出行数
from IPython.display import clear_output
# 清除输出
clear_output(wait=True)
# 或在Cell菜单中选择 "Clear Output"
问题5:内存不足
解决方案:
# 查看内存使用
import sys
print(f"当前内存使用: {sys.getsizeof(data) / 1024 / 1024:.2f} MB")
# 删除大变量释放内存
del large_variable
import gc
gc.collect()
# 重启Kernel(会清空所有变量)
💡 学习要点总结
环境搭建要点
- 使用Conda管理环境:每个项目独立环境,避免包冲突
- requirements.txt记录依赖:便于环境复现和团队协作
- .env管理敏感信息:API密钥等不要硬编码
- Python版本选择:AI开发推荐Python 3.10+
Jupyter使用要点
- Cell类型灵活切换:Y(Code), M(Markdown), R(Raw)
- 善用魔法命令:%timeit, %run, %load等提高效率
- 快捷键熟练:Esc进入命令模式,Enter进入编辑模式
- 及时保存:Ctrl+S或S键保存
- Kernel管理:出现问题时重启Kernel
最佳实践清单
- ✅ 使用conda创建隔离环境
- ✅ 用requirements.txt管理依赖
- ✅ API密钥存储在.env文件
- ✅ 使用with语句管理文件
- ✅ 添加异常处理增强健壮性
- ✅ 用Markdown Cell写文档说明
- ✅ 定期保存Notebook
- ✅ 使用%timeit测试代码性能
- ✅ 大项目使用目录结构组织Notebook
📖 延伸阅读
官方文档
推荐资源
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)