尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

用Codex接入DeepSeek API生成Beamer演示文稿

用Codex接入DeepSeek API生成Beamer演示文稿 最近在做一个技术分享的演示文稿尝试把“一句话生成 PPT”这件事跑通。试过直接用 DeepSeek 网页端生成大纲也试过让 Codex 配合 DeepSeek API 直接落地产出 Beamer PDF。整个过程踩了不少坑从 Codex CLI 二进制找不到到模型返回格式不兼容再到 Beamer 中文排版乱码几乎每个环节都值得单独记录。这篇文章把完整链路整理成一份可复现的教程内容包括DeepSeek 与 Codex 的基本定位和分工从零配置 Codex CLI 并接入 DeepSeek API用一句提示词生成 Beamer 工程并编译出 PDFBeamer 中文支持、数学公式、主题优化的细节常见报错与排查思路适合工程落地的实操建议。整个过程既适合刚接触 AI 编程工具的新手也适合已经用过 Codex 但想切换第三方模型的进阶开发者。1. 背景与核心概念1.1 Codex 与 DeepSeek 分别解决什么问题Codex 是 OpenAI 推出的终端 AI 编程代理它的核心能力不是单纯“聊天”而是能在一个受控的命令行环境里完成多步骤任务。比如读取项目文件、生成代码、执行命令、根据报错自动修改代码、再次运行验证。也就是说它更接近一个“自动干活的小助手”而不是一个只回文本的聊天机器人。DeepSeek 则是一款国产大语言模型它提供了 OpenAI 兼容的 API 接口开发者可以用熟悉的 OpenAI SDK 或任意兼容工具来调用 DeepSeek 的模型能力。DeepSeek 在中文语境、技术问答、代码生成方面都有不错表现而且 API 调用成本相对友好。两者的组合逻辑很简单让 Codex 承担“代理调度 文件操作 命令执行”的工程化能力让 DeepSeek 承担“理解需求 生成内容”的模型推理能力。在很多场景下用户并不需要完整的 OpenAI 官方模型订阅而是希望用更低成本、更好中文表现的第三方模型。这时只要把 Codex 的模型提供方指向 DeepSeek API就能把 Codex 的工程能力和 DeepSeek 的模型能力组合起来。1.2 为什么选择 Beamer 而不是直接做 PPTBeamer 是 LaTeX 的一个文档类专门用来制作演示文稿。它编译出来的是一份 PDF而不是.pptx文件。很多人第一反应是为什么不直接生成 PPT主要原因有三个。第一排版质量稳定。Beamer 基于 LaTeX 的排版引擎文字间距、公式排版、图表对齐非常严谨尤其适合包含大量数学公式的学术汇报、算法讲解、技术分享。第二文本形式便于版本管理。一个.tex文件就是纯文本可以用 Git 追踪每一次修改方便多人协作。这一点是二进制.pptx很难做到的。第三AI 生成代码的可行性更高。大语言模型在生成结构化 LaTeX 代码方面非常擅长因为 LaTeX 本身就是严格的标记语言。只要提示词给出清晰结构生成结果通常可以直接编译。用 AI 生成 Beamer 工程本质上是把“写文档格式”的繁琐工作交给模型把“把关内容质量”和“调整视觉细节”的工作留给自己。1.3 整体工作流整个流程可以拆成下面几步用户一句话需求 ↓ Codex CLI (代理) ↓ 调用 DeepSeek API (模型理解与生成) ↓ 生成 main.tex 与辅助文件 ↓ 执行 xelatex 编译 ↓ 产出 PDF 演示文稿Codex 在这个过程中会自动完成创建项目文件夹、写入 main.tex、调用 xelatex 编译、读取编译日志、修复错误、重复编译直到成功。我们需要做的是先把 Codex 和 DeepSeek 的环境配置好然后给出清晰的需求描述。2. 环境准备与版本说明2.1 工具清单开始之前先确认本机环境。依赖说明Node.jsCodex CLI 基于 npm 安装建议 Node.js 18 以上Codex CLIOpenAI 官方 CLI 工具可通过 npm 安装DeepSeek API Key在 DeepSeek 开放平台申请LaTeX 发行版TeX Live 或 MiKTeX需要包含 beamer、ctex、xecjk编辑器VS Code 可选配合 LaTeX Workshop 插件终端macOS/Linux 使用 bash/zshWindows 使用 PowerShell 或 WSL版本说明LaTeX 的发行版和 Codex CLI 的版本迭代较快不同版本的配置项可能存在细微差异。本文示例以当前常见环境为主重点演示配置思路实际操作时请根据你的版本调整。2.2 安装 Codex CLI在终端执行npm install -g openai/codex安装完成后验证codex --version如果提示command not found需要确认 npm 的全局安装目录是否在 PATH 中。macOS/Linux 下可以执行npm config get prefix然后把输出的bin目录加入 PATH。比如 prefix 是/usr/local那通常会自动包含/usr/local/bin一般不需要额外处理。Windows 下 npm 的全局目录一般在%APPDATA%\npm需要手动加入 PATH。2.3 获取 DeepSeek API Key登录 DeepSeek 开放平台在 API Keys 页面创建一个新的 API Key。生成后复制保存注意不要泄露给他人。密钥建议通过环境变量管理而不是直接写进配置文件。export DEEPSEEK_API_KEYsk-xxxxxxxxxxxxxxxx如果希望每次终端启动都自动加载可以写入 shell 配置文件。比如 macOS/Linux 下echo export DEEPSEEK_API_KEYsk-xxxxxxxxxxxxxxxx ~/.zshrc source ~/.zshrc2.4 安装 TeX LiveBeamer 是 LaTeX 宏包需要完整的 TeX 发行版才能编译。Ubuntu / Debian 下推荐安装完整版sudo apt update sudo apt install texlive-full注意texlive-full体积很大但能一次性解决后续依赖问题。如果磁盘空间有限可以先安装texlive-latex-extra和texlive-xetex再按需补充中文支持sudo apt install texlive-latex-extra texlive-xetex latex-cjk-allmacOS 下推荐安装 MacTeXbrew install --cask mactexWindows 下推荐安装 MiKTeX安装时选择“完整安装”避免后续缺宏包。验证 Beamer 是否可用kpsewhich beamer.cls如果输出包含路径说明 beamer 宏包已经安装。验证中文支持kpsewhich ctex.sty如果没有输出说明缺少 ctex 宏包需要补充安装。3. Codex 配置与 DeepSeek 接入3.1 Codex 配置文件位置Codex CLI 的全局配置文件默认位于~/.codex/config.toml如果该文件不存在首次运行codex时会自动创建。本文推荐手动编辑因为需要添加第三方模型提供方。3.2 添加 DeepSeek 模型提供方用文本编辑器打开~/.codex/config.toml写入以下配置model deepseek-chat model_provider deepseek [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY wire_api chat保存后退出编辑器。3.3 参数含义解释这段配置里的每一项都有明确作用。model字段指定默认使用哪个模型。DeepSeek 目前提供了多个模型常见的有deepseek-chat和deepseek-reasoner。不同时期的模型命名可能不同建议以 DeepSeek 开放平台的最新文档为准。model_provider字段告诉 Codex 使用哪个模型提供方配置。这里填写的值必须与下面方括号中的名字一致也就是deepseek。[model_providers.deepseek]段落定义了一个名为deepseek的模型提供方。name是展示名可以随意设置比如DeepSeek。base_url是 API 接口地址。DeepSeek 提供了 OpenAI 兼容接口所以这里填的是它的/v1地址。env_key告诉 Codex 从哪个环境变量读取 API Key。Codex 会自动读取DEEPSEEK_API_KEY环境变量不需要把密钥明文写进配置文件。这样做的好处是即使配置文件被提交到 Git密钥也不会泄露。wire_api字段比较关键。Codex 默认使用 OpenAI 的 Responses API 协议而 DeepSeek 目前提供的是 Chat Completions 协议因此必须写成chat否则调用时会报接口格式不兼容的错误。3.4 验证接入是否成功配置完成后在终端执行codex exec 你好请简单介绍一下 Beamer如果配置正常Codex 会调用 DeepSeek 模型并返回一段介绍文本。首次运行可能需要进行一些交互确认按提示操作即可。如果报错先检查环境变量DEEPSEEK_API_KEY是否已设置base_url是否可访问wire_api是否正确配置。4. 一句话生成 Beamer 工程4.1 创建项目目录先创建一个专门的文件夹mkdir ai-slides-demo cd ai-slides-demo这是 Codex 的工作目录后续生成的.tex文件和编译产物都会放在这里。4.2 用一句提示词生成 Beamer执行以下命令codex 创建一个 Beamer 演示文稿主题是《深度学习与多模态模型》要求如下使用 xelatex 编译文档类使用 beamer引入 ctex 宏包支持中文包含 8 页幻灯片分别是标题页、目录页、背景页、技术框架页、核心算法页、实验结果页、对比分析页、总结页每页内容要有具体文字不要留空使用 Madrid 主题执行 xelatex main.tex 编译确认 PDF 生成成功Codex 会进入自主工作模式执行一系列操作。大致过程如下。它会先创建main.tex文件根据要求写入 Beamer 文档结构。然后执行 xelatex 编译此时很可能报错——比如 ctex 宏包没找到、中文编码问题、xx颜色未定义等。Codex 会读取编译日志定位问题根因修改.tex文件再次编译。重复几轮后最终生成 PDF。注意不同模型能力有差异Codex 每次运行的结果不一定完全一致。有些情况下模型会直接成功有些情况下会多次尝试。最终只要生成出 PDF 文件即可。4.3 一个可运行的 main.tex 参考如果 Codex 生成的结果不稳定可以用下面这个最小示例作为起点。将内容保存为main.tex。% 文件路径ai-slides-demo/main.tex \documentclass[aspectratio169]{beamer} \usepackage[UTF8]{ctex} \usepackage{amsmath,amssymb} \usetheme{Madrid} \usecolortheme{whale} \title{深度学习与多模态模型} \author{作者名} \date{\today} \begin{document} \begin{frame} \titlepage \end{frame} \begin{frame}{目录} \tableofcontents \end{frame} \section{背景} \begin{frame}{背景} \begin{itemize} \item 多模态学习是当前深度学习的重要方向 \item 图像、文本、音频等多种模态的统一建模 \item 在智能助手、内容理解、检索系统中有广泛应用 \end{itemize} \end{frame} \section{技术框架} \begin{frame}{技术框架} \begin{block}{核心思想} 通过对比学习将不同模态映射到同一语义空间 \end{block} \begin{equation} \mathcal{L} -\log \frac{\exp(\text{sim}(v, t) / \tau)}{\sum_{j} \exp(\text{sim}(v, t_j) / \tau)} \end{equation} \end{frame} \section{总结} \begin{frame}{总结} \begin{itemize} \item 多模态模型从单模态走向统一建模 \item 数据与算力是模型能力提升的关键 \item 后续工作可以围绕轻量化与行业落地展开 \end{itemize} \end{frame} \end{document}编译命令xelatex main.tex如果是因为缺少宏包导致编译失败按需安装后再重新编译。编译成功后会生成main.pdf这就是最终的演示文稿。4.4 提示词结构对生成质量的影响“一句话生成 PPT”听起来很酷但实际效果取决于提示词里是否包含足够约束。推荐按下面三个层次来写提示词提示词要素示例作用目标格式使用 Beamer 生成 PDF明确输出类型内容结构8 页每页的主题约束生成结构技术约束xelatex、ctex、Madrid 主题减少编译错误如果只写“帮我做一个 PPT”模型大概率只会给一个 Markdown 大纲而不会自动生成可编译的 LaTeX 工程。想要一次跑通必须显式说明“使用 Beamer”和“执行编译”。5. Beamer 输出优化与扩展5.1 中文支持与字体设置Beamer 默认使用 pdflatex 编译这种方法对中文支持并不友好。推荐使用 xeCJK 或 ctex 宏包。上文示例中直接使用ctex宏包并在编译时指定xelatex引擎。如果希望进一步调整中文默认字体可以展开书写\usepackage[UTF8]{ctex} \setCJKmainfont{Noto Serif CJK SC} \setCJKsansfont{Noto Sans CJK SC}这里的setCJKmainfont设置中文宋体setCJKsansfont设置中文黑体用于无衬线场景。不同系统上字体名称可能不同需要先通过fc-list :langzh查看可用字体。5.2 数学公式排版Beamer 对 LaTeX 数学公式支持非常完善。行内公式使用$...$行间公式使用\[...\]或equation环境。示例\begin{frame}{损失函数} \begin{equation} \text{Loss} \frac{1}{N} \sum_{i1}^{N} (y_i - \hat{y}_i)^2 \end{equation} \end{frame}常见误区在frame环境中使用$$...$$虽然能显示但编号和间距控制不如equation环境可靠。建议优先使用equation。5.3 自定义主题与配色Beamer 自带了大量主题常见的组合如下\usetheme{Madrid} \usecolortheme{whale}theme控制整体布局colortheme控制配色风格。常用的主题包括主题名称风格特点Madrid顶部导航条简洁正式Berlin侧边或顶部框架适合长文档Copenhagen章节条清晰常见于学术汇报Metropolis现代极简风格需要额外安装如果默认主题不能满足视觉效果可以直接在\begin{document}之前通过setbeamercolor自定义颜色。\definecolor{maincolor}{RGB}{30, 80, 160} \setbeamercolor{frametitle}{bgmaincolor} \setbeamercolor{title}{fgmaincolor}5.4 扩展生成 Markdown 后再转 PPTBeamer 适合生成 PDF但有时候交付要求是.pptx文件。此时可以让 Codex 生成 Markdown 大纲和内容再用 pandoc 或 Marp 转换成 PPT。使用 pandoc 转换pandoc slides.md -o slides.pptx这种方式生成的 pptx 默认模板比较朴素。如果想要更好看的风格可以用 Marp。先把 Markdown 文件头部加上marp: true再用命令行导出npx marp-team/marp-cli slides.md --pptx另外也可以让 Codex 生成 Python python-pptx 脚本这种方式的优势是脚本可复用后续只需要修改内容数据即可再次生成。一个简单的 python-pptx 示例# 文件路径make_ppt.py from pptx import Presentation from pptx.util import Inches prs Presentation() slide prs.slides.add_slide(prs.slide_layouts[1]) slide.shapes.title.text Title slide.placeholders[1].text Content prs.save(output.pptx)具体工作流取决于交付物要求要 PDF 用 Beamer要 pptx 用 python-pptx 或 Marp。6. 常见问题与排查思路6.1 Codex CLI 二进制找不到问题现象在 VS Code 或某 IDE 扩展中启动 Codex 时提示unable to locate the codex cli binary. set codex cli path or ensure the executable is in PATH。原因分析Codex CLI 虽然已经通过 npm 全局安装但 IDE 扩展进程无法找到它。常见原因是 PATH 环境变量没有更新或者 IDE 启动时没有重新加载终端环境。解决方案先在终端确认路径which codex如果输出为空说明 Codex 不在 PATH 中需要将 npm 全局目录加入 PATH。如果命令存在则把输出路径填入 IDE 的 Codex CLI 路径设置中。在 macOS 上which codex的输出通常是/usr/local/bin/codexWindows 下可能是C:\Users\用户名\AppData\Roaming\npm\codex.CMD注意修改完环境变量后需要完全退出 IDE 再重新打开。6.2 Codex 调用时提示 model not supported问题现象调用时出现类似the model is not supported when using codex with a ...的报错。原因分析通常是配置文件中的model字段与model_provider不匹配或者 Codex 内部自动切换到了官方模型但当前配置并不支持该模型。解决方案在config.toml中显式指定model_providermodel deepseek-chat model_provider deepseek同时确认当前使用的模型名称属于 DeepSeek 开放平台支持的模型列表。6.3 DeepSeek API 返回 401 或认证失败问题现象调用 DeepSeek API 时返回401 Unauthorized。原因分析通常原因是DEEPSEEK_API_KEY环境变量没有正确设置或者密钥已经过期。解决方法在终端执行echo $DEEPSEEK_API_KEY如果输出为空说明环境变量没有加载。重新 export 后重试。如果确认环境变量存在可以去 DeepSeek 开放平台检查 Key 状态。6.4 Beamer 编译时报缺少 beamer.cls问题现象执行xelatex main.tex时提示! LaTeX Error: File beamer.cls not found.原因分析TeX Live 或 MiKTeX 安装时没有包含 Beamer 相关的宏包。解决方法确认 kpsewhich 是否能找到kpsewhich beamer.cls如果为空说明缺少宏包。Ubuntu/Debian 下执行sudo apt install texlive-latex-extraMiKTeX 用户可以尝试在命令行执行mpm --installbeamer6.5 中文显示为乱码或空白问题现象PDF 编译成功但中文内容显示为空白或乱码。原因分析使用了 pdflatex 编译但未配置中文支持。解决方法使用 xelatex 引擎xelatex main.tex并在main.tex中加入\usepackage[UTF8]{ctex}6.6 常见问题汇总问题现象常见原因解决思路codex 命令不存在npm 全局目录不在 PATH重启终端检查 PATH无法定位 codex cli binaryIDE 环境未重载 PATH在 IDE 中填入 codex 绝对路径认证 401API Key 未设置或失效重新设置 DEEPSEEK_API_KEYwire_api 不匹配DeepSeek 不支持 responses 协议配置为wire_api chatbeamer.cls 未找到宏包未安装安装 texlive-latex-extra中文乱码使用 pdflatex改用 xelatex7. 最佳实践与工程建议7.1 把提示词沉淀为项目文档“一句话生成 PPT”的体验很好但如果每次都要重新描述全部要求效率优势很快会消失。建议把常用的提示词模板固化到项目目录的PROMPT.md文件中。比如# 演示文稿生成提示词模板 任务使用 Beamer 生成中文演示文稿。 注意 1. 必须使用 xelatex 编译 2. 必须引入 ctex 宏包 3. 页面数量不少于 8 页 4. 每页必须有具体内容 5. 使用 Madrid 主题下次需要生成新 PPT 时让 Codex 读取PROMPT.md并替换主题表述即可。7.2 密钥管理不要把 API Key 写在config.toml中也不要写进项目文件。推荐使用环境变量管理。Codex 的env_key配置会自动从环境变量读取密钥这本身就是推荐做法。在执行 Codex 命令时确保环境变量已导出。7.3 对生成内容保持审核AI 生成的内容不会百分百准确尤其是技术细节。比如深度学习论文的引用、数据指标、算法描述这些内容如果与真实工作相关必须人工核对。安全方面也要注意如果生成的脚本需要执行sudo、修改系统配置或访问敏感目录务必确认操作合法性避免让 AI 代理在未授权环境下执行高风险命令。7.4 保持工程结构整洁不要把 Beamer 文件全部堆在根目录。推荐结构my-slides/ ├── main.tex ├── figures/ │ └── model_arch.png ├── main.pdf └── PROMPT.md如果涉及多套演示文稿每种主题一个子目录图片放在各自目录下方便复用。7.5 Codex 的自主执行模式与人工确认Codex 支持在执行命令前进行确认。如果你不希望它自动运行 xelatex 或其他命令可以在启动时明确要求“生成文件后不要自动编译”或者使用受限模式。生成阶段与编译阶段分离可以降低风险也方便在编译前人工检查.tex文件。7.6 性能与成本控制Beamer 文档通常只有几十 KB生成过程消耗的 token 主要取决于内容长度和调试轮次。建议控制单次要生成的幻灯片数量比如一次 8 到 12 页而不是一次 50 页内容较长时分章节让 Codex 逐段生成避免在提示词中重复贴大量无关背景减少 token 消耗。7.7 根据用途选择生成工具链如果分享时主要用电脑或投屏PDF 输出完全够用。如果用户要求提供可编辑 pptx优先考虑Beamer 生成 PDF 同时生成 Markdown 内容用 python-pptx 脚本按结构生成模板用 Marp 从 Markdown 导出 pptx。三种方式各有侧重关键是明确交付物格式再选工具链。8. 总结与下一步到这里已经掌握了从 Codex CLI 安装、DeepSeek API 接入到 Beamer 生成与编译的完整链路。整个流程最难的部分不是写 LaTeX而是把环境配置正确并让 Codex 理解“目标格式 内容结构 技术约束”这三层信息。如果接下来想深入可以试试这几个方向学习 Beamer 主题定制把默认模板改成符合自己审美的视觉风格研究 Codex 在项目开发中的更多用法比如让它自动写单元测试、重构代码、生成接口文档把 DeepSeek 接入其他支持 OpenAI 兼容协议的编程工具比如各类开源 AI 插件形成自己的 AI 工作流。实际项目中最需要关注的风险还是审批与安全边界生成的文件要人工审查执行的命令要确认授权API Key 不要泄露。工具能帮你节省排版和格式化的时间但内容正确性始终是自己的责任。如果这篇文章对你有帮助可以收藏备用。你在使用 Codex 接入 DeepSeek 生成 Beamer 时还遇到过什么问题欢迎在评论区交流。
返回列表