AI零笔记 - 项目调研阶段的一些整活
前几天我科学上网学习鱼皮大佬 AI Vibe Coding 教程里的《微软官方 Generative AI for Beginners》时突发奇想:作为一个有严重阅读障碍、从小到大没记过笔记的 IT 从业人,为什么不直接用当下最火的 AI 技术,搞一个AI 辅助看视频做学习笔记的软件呢?
于是 “AI 零笔记” 就此诞生(命名方式也是向牢鱼学的 😄)。
说干就干,用 Cursor Vibe Coding 先把一个能扫描并保存音频文件的功能写了出来,作为 AI 零笔记的首个 Demo。接着就进入了语音转文本的 AI 大模型选型阶段,以及生成效果测试。之后再调用通用大语言模型,根据识别出的文本生成最终的笔记内容。
很快,我找到了这个项目里第一个最大的乐子——AI 语音实时翻译产出的笑点过于密集。举个例子,AI 视频翻译腔的真实实力如下:
"想象一下,你想例如部署一个的 winch,或者可能是 chat ubt 三个半涡轮。"
而原义可能是 “部署一个 Whisper,或者 ChatGPT 3.5 Turbo”。太秀了,简直是南辕北辙!
但转念一想:我们可以用 AI 来消除 AI 视频翻译的 debuff 啊!
直接在提示词里注明:先修正 AI 视频翻译文本中的常见错误,再基于修正后的内容生成笔记。这样准确率不就上来了吗?
以下是根据视频录音(AI 翻译)修正错误后整理的学习笔记,已对常见的翻译偏差进行勘正并保持原意。
大家来感受一下,在优化过 Prompting 的加持下,AI 是怎么成为AI 视频翻译腔最严厉的父亲的吧。
(原来AI视频翻译腔文本识别的内容我PO在最下面做为对比)
📘 生成文本应用构建 - 学习笔记
课程来源:Building Text Generation Applications [Pt 6] | Generative AI for Beginners
讲师:Chris Noring(微软高级云技术布道师)
🔧 翻译关键修正说明
- 库/工具名称:
open ai→openai(Python库)E和V/dot emv/dmv文件→dotenv(用于加载.env环境变量)action门户→ Azure 门户action open ai→ Azure OpenAI
- 术语错误:
实力化客户端→ 实例化客户端终点→ 端点(endpoint)winch→ Whisper 模型chat ubt三个半涡轮→ ChatGPT 3.5 Turbo嵌入代码→ embeddings 模型第十八型→ 部署(deployment)网。罗故事→ 很棒的故事两个五个以此类推→ 想想看 / 例如理斯通→ 列表(list) / 响应阿贝林肯→ 亚伯拉罕·林肯
- 其他口语化错译均已在笔记正文中修正为通顺表达。
📚 学习内容总结
1. 环境准备与安全实践
- 必须安装的库:
openai和python-dotenv。 - 安全性原则:
- 绝不在代码中硬编码密钥(API key)、端点等机密信息。
- 使用
.env文件存储敏感配置,再通过dotenv加载为环境变量。 - 示例
.env内容:▼text复制代码AZURE_OPENAI_ENDPOINT=https://你的资源.openai.azure.com/ AZURE_OPENAI_KEY=你的密钥
- 加载方式(代码):
▼python复制代码
from dotenv import load_dotenv load_dotenv()
2. 初始化 Azure OpenAI 客户端
需要提供三要素:
- 端点(endpoint):在 Azure 门户中创建资源后获得。
- API 密钥(api_key):用作身份验证的唯一凭据。
- API 版本(api_version):会随时间更新,必须查阅微软官方文档以使用正确版本,以确保功能兼容。
▼python复制代码import openai openai.api_type = "azure" openai.api_base = os.getenv("AZURE_OPENAI_ENDPOINT") openai.api_key = os.getenv("AZURE_OPENAI_KEY") openai.api_version = "2023-05-15" # 示例,请以官方最新为准
3. 理解“部署”
- 同一个 Azure 资源下可部署多个模型,每个部署对应一个模型类型。
- 不同任务需调用不同部署:
- 文本生成/聊天:
gpt-35-turbo部署 - 嵌入向量:
text-embedding-ada-002部署 - 语音转文字:
whisper部署
- 文本生成/聊天:
- 调用时需指定部署名称(deployment),也就是你所使用的模型实例。
4. 提示与消息结构
核心:提示(prompt)是指令,消息(messages)是对话上下文。
- 示例提示(故事生成):
▼text复制代码
完成以下故事:从前,有一个…… - 消息(messages)格式:
一个消息列表,每个元素包含role和content:system:设定 AI 的角色与行为。user:用户输入。assistant:历史回复(用于多轮对话)。
角色扮演技巧:
- 普通助手:
{ "role": "system", "content": "你是一名博物馆策展人。" } - 名人模仿:
{ "role": "system", "content": "你是亚伯拉罕·林肯,请以自己的口吻讲故事。" }
这能让 AI 行为产生巨大变化,适应不同场景。
5. 调用生成API并获取回复
▼python复制代码response = openai.ChatCompletion.create( engine="你的部署名", messages=[ {"role": "system", "content": "你是一个乐于助人的助手。"}, {"role": "user", "content": "从前,有一座神秘的城堡……"} ] ) # 提取生成的文本 print(response.choices[0].message.content)
- 首次运行会建立连接,耗时稍长。
- 可通过修改
system或user提示来获得不同风格的内容(如童话、科幻等)。
6. 动手演示:生成故事
- 运行简单提示,得到一个随机生成的故事。
- 修改提示为科幻风格,再次运行,故事变为太空冒险。
- 示例生成内容:
女孩 Nova 出生在宇宙飞船上,她对星星和发现新行星充满向往……
应用场景:家长或长辈可借此为孩子生成个性化睡前故事,成为“总讲精彩故事的亲人”。
7. 进阶示例:食谱生成器
- 用户输入:冰箱/橱柜中现有的食材(如鸡肉、土豆、胡萝卜)。
- 安全过滤:添加“花生过敏”等限制,避免生成有害食谱。
- 构建带模板的提示:
▼text复制代码
请根据以下食材给出一个简单食谱:{食材列表} 要求:不含花生,适合初学者。 - 调用 API,获取结构化的食谱清单。
价值:展示了生成式 AI 在日常生活中的实用帮助,且能包容特殊需求。
💡 关键要点
- 始终将机密与环境变量分离,防止泄露。
- 客户端初始化需正确指定 endpoint、key、api-version、deployment。
- 通过
system消息精准调控 AI 的行为与语气。 - 同一套代码可通过更换提示和消息轻松适配故事创作、食谱生成等不同场景。
- 生成文本应用的核心流程:准备环境 → 配置客户端 → 设计消息 → 调用模型 → 处理响应。

看到这里的朋友是不是感受到了AI的魅力,直接化腐朽为神奇,上面输出的视频笔记已经初见端倪了也是比较理想的一种输出结果还是顶着AI视频翻译腔debuff的前提下。 以上就是我关于AI零笔记的第一次整活,希望大家都能度过一个不错的五一假期。










