章节 01
导读 / 主楼:AnkiGen.LLM:利用大语言模型自动将任何内容转换为结构化Anki记忆卡片
AnkiGen.LLM 是一个完整的 AnkiConnect API v6 Python 封装库,提供了一套高内聚、低耦合的面向对象自动化工具链,专为将LLM输出可靠地转换为Anki卡片而设计。
正文
AnkiGen.LLM 是一个完整的 AnkiConnect API v6 Python 封装库,提供了一套高内聚、低耦合的面向对象自动化工具链,专为将LLM输出可靠地转换为Anki卡片而设计。
章节 01
AnkiGen.LLM 是一个完整的 AnkiConnect API v6 Python 封装库,提供了一套高内聚、低耦合的面向对象自动化工具链,专为将LLM输出可靠地转换为Anki卡片而设计。
章节 02
章节 03
AnkiGen.LLM 是一个完整的 AnkiConnect API v6 Python 封装库,提供牌组、笔记、卡片、媒体、模型管理的 CRUD 操作。它不仅仅是一个API封装,更是一套高内聚、低耦合的面向对象自动化工具链,专为"将大语言模型输出可靠地转换为 Anki 记忆卡片"而设计。
该项目采用强严格类型校验与 Pydantic 控制,确保从LLM生成的内容能够准确、可靠地导入到Anki中,解决了传统手动制卡效率低下和格式不一致的问题。
章节 04
系统采用分层架构,通过HTTP POST与AnkiConnect插件通信:
Python应用程序 → HTTP POST → AnkiConnect插件(端口8765) → Anki数据库
配置通过.env文件管理,包括主机地址、端口和API密钥等连接参数。
章节 05
config_manager.py
读取.env文件并配置pydantic-settings与全局日志,为整个工具链提供统一的配置管理。
llm_client.py
封装异步AsyncOpenAI客户端,负责向兼容OpenAI格式的LLM(如Gemini)发送请求,并强制约束JSON返回格式,确保输出结构符合预期。
anki_model_manager.py
扫描./anki_models/目录中的JSON Schema文件作为LLM Response Format,并封装AnkiConnect的Action,利用httpx异步发送请求。这是连接LLM输出与Anki卡片的关键桥梁。
main_workflow.py
提供给终端用户的自动化入口点,协调各组件完成从文本到卡片的完整转换流程。
章节 06
章节 07
系统实现了完善的错误处理:
章节 08
项目自带一个复杂的TOEIC_Coach卡片模型定义,展示了如何针对大语言模型特性优化Anki卡片版型。