bilingual_book_maker

GitHub
9.1k 1.2k 简单 1 次阅读 今天MIT语言模型插件
AI 解读 由 AI 自动生成,仅供参考

bilingual_book_maker 是一款利用人工智能技术,帮助用户轻松制作双语电子书的开源工具。它能自动读取 epub、txt、srt 甚至 pdf 格式的文档,调用大语言模型进行翻译,并生成保留原文与译文对照的双语版本文件。

对于想要阅读外文原著但受限于语言能力的读者,或是希望快速本地化公开领域作品的爱好者来说,它解决了传统人工翻译耗时费力、机器翻译结果难以排版对齐的痛点。用户无需具备深厚的编程背景,只需简单的命令行操作,即可将《动物农场》等公版书籍转化为适合自己的双语学习资料。

这款工具特别适合普通读者、语言学习者以及关注公版作品数字化的社区成员使用。其核心亮点在于广泛的模型兼容性:不仅支持 OpenAI 的 GPT-4/3.5 系列,还通过 liteLLM 架构无缝集成了 Claude、Gemini、通义千问等多种主流模型,甚至包含 DeepL 和彩云小译等专业翻译接口。此外,它智能设计了 API 密钥轮询机制,能有效平衡请求负载,避免因调用频率限制导致的中断,让长文档的翻译过程更加稳定流畅。无论是为了个人学习还是知识分享,bilingual_book_maker 都让跨语言阅读变得触手可及。

使用场景

一位外语系研究生急需阅读英文原版公版小说《动物庄园》以完成比较文学论文,但其中大量的生僻词汇和长难句严重阻碍了理解效率。

没有 bilingual_book_maker 时

  • 查阅中断心流:每读几行就要停下来查字典或复制句子去翻译网站,阅读思路频繁被打断,难以把握全书脉络。
  • 对照排版混乱:手动将译文粘贴到原文档中时,格式经常错乱,无法实现左右段落或上下句的精准对齐,复习时极不方便。
  • 成本高昂耗时:若寻求人工翻译或购买昂贵的双语实体书,不仅经济成本高,且等待周期长,无法满足紧急的科研需求。
  • 语境丢失风险:使用普通机器翻译整段输入时,往往缺乏上下文关联,导致对书中讽刺隐喻的理解出现偏差。

使用 bilingual_book_maker 后

  • 一键生成双语:只需一条命令调用 GPT-4 或 Claude 模型,即可自动将 epub 文件转换为原文与译文完美对照的双语版本。
  • 格式完整保留:工具智能解析书籍结构,生成的电子书保留了原有的章节、段落和排版样式,直接在阅读器中即可流畅翻阅。
  • 上下文精准翻译:利用大模型的上下文理解能力,准确还原了原著的修辞色彩和深层含义,显著提升了学术研读的准确性。
  • 低成本高效率:几分钟内即可完成整本书的处理,仅需支付极少的 API 费用,让个人研究者也能轻松拥有定制化的双语学习资料。

bilingual_book_maker 将繁琐的文献预处理工作自动化,让研究者能从语言障碍中解放出来,专注于内容本身的深度思考。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明

依赖
notes该工具主要调用云端 API(如 OpenAI、Claude、Gemini 等)进行翻译,本地无需高性能 GPU 或大内存。需确保网络畅通或配置代理服务器(--proxy)。若使用 Ollama 等本地自托管模型,则需满足对应模型的本地运行环境要求。支持多种输入格式(epub/txt/srt/pdf),中断后可通过 --resume 参数恢复任务。
python3.8+
litellm
requests
beautifulsoup4
ebooklib
tiktoken
bilingual_book_maker hero image

快速开始

中文 | English ![litellm](https://img.shields.io/badge/%20%F0%9F%9A%85%20liteLLM-OpenAI%7CAzure%7CAnthropic%7CPalm%7CCohere%7CReplicate%7CHugging%20 Face-blue?color=green)

bilingual_book_maker

bilingual_book_maker 是一款基于 ChatGPT 的 AI 翻译工具,旨在帮助用户将 epub、txt、srt 和 pdf 格式的文件及书籍翻译成多种语言版本。本工具仅适用于翻译公共领域的 epub 文件及其他作品,不应用于受版权保护的作品。在使用本工具之前,请仔细阅读项目的 免责声明

image

支持的模型

gpt-5-mini、gpt-4、gpt-3.5-turbo、claude-2、palm、llama-2、azure-openai、command-nightly、gemini、qwen-mt-turbo、qwen-mt-plus
对于非 OpenAI 模型,可以使用 liteLLM() 类——liteLLM 支持上述所有模型。更多关于 liteLLM 的使用信息,请参阅:https://github.com/BerriAI/litellm/blob/main/setup.py

准备工作

  1. ChatGPT 或 OpenAI 的 API Token ^token
  2. epub/txt/pdf 格式的书籍
  3. 具有互联网连接或代理环境
  4. Python 3.8+

快速开始

我们提供了一个示例书籍 test_books/animal_farm.epub 用于测试。

pip install -r requirements.txt
python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key} --test
或者
pip install -U bbook_maker
bbook --book_name test_books/animal_farm.epub --openai_key ${openai_key} --test

翻译服务

  • 使用 --openai_key 参数指定 OpenAI 的 API 密钥。如果您有多个密钥,可以用逗号分隔(xxx,xxx,xxx),以减少因 API 调用限制导致的错误。 或者,您也可以直接设置环境变量 BBM_OPENAI_API_KEY
  • 我们提供了一个示例书籍 test_books/animal_farm.epub 用于测试。
  • 默认底层模型是 GPT-3.5-turbo,这也是 ChatGPT 目前使用的模型。您可以使用 --model gpt4 将底层模型更改为 GPT4,也可以选择 GPT4omini。
  • 需要注意的是,GPT4 的成本远高于 GPT4-turbo,但为了避免触发速率限制,我们会自动在 gpt-4-1106-previewgpt-4gpt-4-32kgpt-4-0613gpt-4-32k-0613 之间均衡分配请求。
  • 如果您想使用 OpenAI 的特定模型别名(例如 gpt-4-1106-previewgpt-3.5-turbo-0125),可以使用 --model openai --model_list gpt-4-1106-preview,gpt-3.5-turbo-0125--model_list 接受一个由逗号分隔的模型别名列表。
  • 如果使用 chatgptapi,可以添加 --use_context 参数,为发送给模型进行翻译的每个段落添加一段上下文说明(见下文)。
  • DeepL
    支持 DeepL 模型 DeepL Translator,需要付费获取 Token。

    python3 make_book.py --book_name test_books/animal_farm.epub --model deepl --deepl_key ${deepl_key}
    
  • DeepL 免费版

    python3 make_book.py --book_name test_books/animal_farm.epub --model deeplfree
    
  • Claude

    使用 Claude 模型进行翻译。

    python3 make_book.py --book_name test_books/animal_farm.epub --model claude --claude_key ${claude_key}
    
  • Google Translate

    python3 make_book.py --book_name test_books/animal_farm.epub --model google
    
  • Caiyun Translate

    python3 make_book.py --book_name test_books/animal_farm.epub --model caiyun --caiyun_key ${caiyun_key}
    
  • Gemini

    支持 Google 的 Gemini 模型,使用 --model gemini 可以选择 Gemini Flash,或使用 --model geminipro 选择 Gemini Pro。 如果您想使用 Gemini 的特定模型别名(例如 gemini-1.5-flash-002gemini-1.5-flash-8b-exp-0924),可以使用 --model gemini --model_list gemini-1.5-flash-002,gemini-1.5-flash-8b-exp-0924--model_list 接受一个由逗号分隔的模型别名列表。

    python3 make_book.py --book_name test_books/animal_farm.epub --model gemini --gemini_key ${gemini_key}
    
  • Qwen

    支持阿里云 Qwen-MT 专业翻译模型。该模型支持 92 种语言,并具备术语干预和翻译记忆等功能。 使用 --model qwen-mt-turbo 可以获得更快、更经济的翻译;而使用 --model qwen-mt-plus 则可以获得更高品质的翻译。

    您可以使用 source_lang 显式指定源语言,或者留空以启用自动检测功能。

    python3 make_book.py --book_name test_books/animal_farm.epub --qwen_key ${qwen_key} --model qwen-mt-turbo --language "简体中文"
    python3 make_book.py --book_name test_books/animal_farm.epub --qwen_key ${qwen_key} --model qwen-mt-plus --language "日语" --source_lang "英语"
    
  • 腾讯 TranSmart

    python3 make_book.py --book_name test_books/animal_farm.epub --model tencentransmart
    
  • xAI

    python3 make_book.py --book_name test_books/animal_farm.epub --model xai --xai_key ${xai_key}
    
  • Ollama

    支持 Ollama 自托管模型。如果 Ollama 服务器未运行在本地主机上,可以使用 --api_base http://x.x.x.x:port/v1 指向 Ollama 服务器地址。

    python3 make_book.py --book_name test_books/animal_farm.epub --ollama_model ${ollama_model_name}
    
  • groq

    GroqCloud 目前支持多种模型,具体可参考 Supported Models

    python3 make_book.py --book_name test_books/animal_farm.epub --groq_key [your_key] --model groq --model_list llama3-8b-8192
    

使用方法

  • 翻译完成后,对于 EPUB 输入文件,将生成名为 ${book_name}_bilingual.epub 的双语文本;对于 TXT/MD/SRT 输入文件,则会生成名为 ${book_name}_bilingual.txt(或 _bilingual.srt)的双语文本(或字幕文件)。对于 PDF 输入文件,工具会先生成一个双语 .txt 备份文件,并尝试创建 ${book_name}_bilingual.epub —— 如果 EPUB 创建失败,TXT 备份文件仍然可用,因此无需重新翻译。
  • 如果在翻译过程中出现任何错误,或者您希望中断翻译并按下 CTRL+C,系统会生成一个临时的双语文件(例如 {book_name}_bilingual_temp.epub{book_name}_bilingual_temp.txt)。您可以将其重命名为所需的文件名。

参数

  • --test:

    使用 --test 选项可在未付费的情况下预览结果。请注意,此功能有使用限制,并且可能需要一些时间。

  • --language:

    设置目标语言,例如 --language "简体中文"。默认目标语言为“简体中文”。可通过帮助信息查看支持的语言:python make_book.py --help

  • --proxy:

    使用 --proxy 选项指定用于访问互联网的代理服务器。输入类似 http://127.0.0.1:7890 的字符串。

  • --resume:

    使用 --resume 选项可在中断后手动恢复进程。

    python3 make_book.py --book_name test_books/animal_farm.epub --model google --resume
    
  • --translate-tags:

    EPUB 文件由 HTML 文件组成。默认情况下,我们仅翻译 <p> 标签内的内容。使用 --translate-tags 可指定需要翻译的标签,多个标签之间用逗号分隔。例如:--translate-tags h1,h2,h3,p,div

  • --exclude-translate-tags:

    使用 --exclude-translate-tags 可将指定 HTML 标签内的内容排除在翻译之外。这对于保留代码块、预格式化文本或其他特殊内容非常有用。多个标签之间用逗号分隔。默认值为 sup,code。例如:--exclude-translate-tags code,pre

    提示:使用 --exclude-translate-tags "" 可翻译所有内容,包括代码块(覆盖默认的排除设置)。

  • --book_from:

    使用 --book_from 选项可指定电子阅读器类型(目前仅支持 kobo),并使用 --device_path 指定挂载点。

  • --api_base:

    如果您希望更改 API 基础 URL(例如使用 Cloudflare Workers),可以使用 --api_base <URL> 来实现支持。注意:API URL 应为 'https://xxxx/v1',且需使用引号。

  • --allow_navigable_strings:

    如果您希望翻译电子书中未标记任何标签的字符串,可以使用 --allow_navigable_strings 参数。这会将这些字符串添加到翻译队列中。请注意,最好尽可能选择格式更规范的电子书。

  • --prompt:

    要调整提示模板,可以使用 --prompt 参数。user 角色模板中的有效占位符包括 {text}{language}。支持以下几种配置方式:

    • 如果无需设置 system 角色内容,可以直接这样设置:--prompt "Translate {text} to {language}."--prompt prompt_template_sample.txt(示例文本文件可在 ./prompt_template_sample.txt 中找到)。

    • 如果需要设置 system 角色内容,可以使用以下格式:--prompt '{"user":"Translate {text} to {language}", "system": "You are a professional translator."}'--prompt prompt_template_sample.json(示例 JSON 文件可在 ./prompt_template_sample.json 中找到)。

    • 现在还可以使用 PromptDown 格式(.md 文件)来提供更结构化的提示:--prompt prompt_md.prompt.md。PromptDown 同时支持传统的系统消息和开发者消息(由较新的 AI 模型使用)。示例如下:

      # 翻译提示
      
      ## 开发者消息
      您是一位专业译员,擅长准确的翻译工作。
      
      ## 对话
      
      | 角色   | 内容                                                        |
      | ------ | ---------------------------------------------------------- |
      | 用户   | 请将以下文本翻译成 {language}:\n\n{text}                 |
      
    • 此外,还可以通过设置环境变量来定义 usersystem 角色的提示:BBM_CHATGPTAPI_USER_MSG_TEMPLATEBBM_CHATGPTAPI_SYS_MSG

  • --batch_size:

    使用 --batch_size 参数可指定批量翻译的行数(默认为 10,目前仅对 txt 文件有效)。

  • --accumulated_num:

    在开始翻译之前,等待累积多少个 token。gpt3.5 将总 token 数限制为 4090。例如,如果您使用 --accumulated_num 1600, OpenAI 可能会输出 2200 个 token,而系统消息和用户消息可能会占用 200 个 token,因此 1600+2200+200=4000,接近上限。您需要自行选择合适的值,因为在发送请求前无法确定是否已达到限制。

  • --use_context:

    提示模型生成三段摘要。如果是翻译的开头部分,它会总结整个已发送的内容(大小取决于 --accumulated_num)。对于后续内容,它会更新摘要,加入最新片段的细节,从而形成一个持续更新的单段上下文摘要,包含整部译作的重要信息。这有助于在整个翻译过程中保持语流和语气的一致性。此选项适用于所有兼容 ChatGPT 和 Gemini 的模型。

  • --context_paragraph_limit:

    使用 --context_paragraph_limit 可以在使用 --use_context 选项时设置上下文段落的数量限制。

  • --parallel-workers:

    使用 --parallel-workers 可启用 EPUB 章节的并行处理。数值大于 1 时会启动多个工作进程(建议设置为 2–4),而对于单章节书籍则会自动回退到串行模式。

  • --temperature:

    使用 --temperature 可为 chatgptapigpt4claude 模型设置温度参数。例如:--temperature 0.7

  • --block_size:

    使用 --block_size 可将多个段落合并为一个块。这可能会提高准确性并加快处理速度。例如:--block_size 5

  • --single_translate:

    使用 --single_translate 可仅输出翻译后的书籍,而不创建双语文本版本。

  • --translation_style:

    示例:--translation_style "color: #808080; font-style: italic;"

  • --retranslate "$translated_filepath" "file_name_in_epub" "start_str" "end_str"(optional):

    从 start_str 到 end_str 的标签范围进行重译:

    python3 "make_book.py" --book_name "test_books/animal_farm.epub" --retranslate 'test_books/animal_farm_bilingual.epub' 'index_split_002.html' 'in spite of the present book shortage which' 'This kind of thing is not a good symptom. Obviously'
    

    仅从 start_str 的标签开始重译:

    python3 "make_book.py" --book_name "test_books/animal_farm.epub" --retranslate 'test_books/animal_farm_bilingual.epub' 'index_split_002.html' 'in spite of the present book shortage which'
    
  • --extra_body:

    向 API 传递额外的 JSON 参数。这对于支持额外配置选项的模型非常有用。提供包含所需参数的 JSON 字符串。

    python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key} --extra_body '{"chat_template_kwargs": {"enable_thinking": false}}'
    

示例

注意:如果使用 pip install bbook_maker 安装,则所有命令均可改为 bbook_maker args

# 快速测试
python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key}  --test --language zh-hans

# 针对源文件的快速测试
python3 make_book.py --book_name test_books/Lex_Fridman_episode_322.srt --openai_key ${openai_key}  --test

# 或者翻译整本书
python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key} --language zh-hans

# 或者使用 Gemini Flash 模型翻译整本书
python3 make_book.py --book_name test_books/animal_farm.epub --gemini_key ${gemini_key} --model gemini

# 使用并行章节处理翻译 EPUB 文件
python3 make_book.py --book_name test_books/animal_farm.epub --openai_key ${openai_key} --parallel-workers 4

# 使用特定的 Gemini 模型别名列表
python3 make_book.py --book_name test_books/animal_farm.epub --gemini_key ${gemini_key} --model gemini --model_list gemini-1.5-flash-002,gemini-1.5-flash-8b-exp-0924

# 设置环境变量 OPENAI_API_KEY 以忽略 --openai_key 选项
export OPENAI_API_KEY=${your_api_key}

# 使用 GPT-4 模型并结合上下文翻译成日语
python3 make_book.py --book_name test_books/animal_farm.epub --model gpt4 --use_context --language ja

# 使用特定的 OpenAI 模型别名
python3 make_book.py --book_name test_books/animal_farm.epub --model openai --model_list gpt-4-1106-preview --openai_key ${openai_key}

**注意**:您也可以以这种方式使用其他“类似 OpenAI”的模型。
python3 make_book.py --book_name test_books/animal_farm.epub --model openai --model_list yi-34b-chat-0205 --openai_key ${openai_key} --api_base "https://api.lingyiwanwu.com/v1"

# 使用特定的 OpenAI 模型别名列表
python3 make_book.py --book_name test_books/animal_farm.epub --model openai --model_list gpt-4-1106-preview,gpt-4-0125-preview,gpt-3.5-turbo-0125 --openai_key ${openai_key}

# 使用 DeepL 模型翻译成日语
python3 make_book.py --book_name test_books/animal_farm.epub --model deepl --deepl_key ${deepl_key} --language ja

# 使用 Claude 模型翻译成日语
python3 make_book.py --book_name test_books/animal_farm.epub --model claude --claude_key ${claude_key} --language ja

# 使用 CustomAPI 模型翻译成日语
python3 make_book.py --book_name test_books/animal_farm.epub --model customapi --custom_api ${custom_api} --language ja

# 翻译 <div> 和 <p> 中的内容
python3 make_book.py --book_name test_books/animal_farm.epub --translate-tags div,p

# 调整提示词
python3 make_book.py --book_name test_books/animal_farm.epub --prompt prompt_template_sample.txt
# 或
python3 make_book.py --book_name test_books/animal_farm.epub --prompt prompt_template_sample.json
# 或
python3 make_book.py --book_name test_books/animal_farm.epub --prompt "请将 \`{text}\` 翻译成 {language}"

# 翻译从 Rakuten Kobo 下载并在 Kobo 电子阅读器上阅读的书籍
python3 make_book.py --book_from kobo --device_path /tmp/kobo

# 翻译 TXT 文件
python3 make_book.py --book_name test_books/the_little_prince.txt --test --language zh-hans
# 批量翻译 TXT 文件
python3 make_book.py --book_name test_books/the_little_prince.txt --test --batch_size 20

# 使用彩云模型进行翻译
# (该 API 目前仅支持:简体中文 <-> 英语,简体中文 <-> 日本语)
# 彩云官方提供了一个测试令牌(3975l6lr5pcbvidl6jl2)
# 您可以按照此教程申请自己的令牌(https://bobtranslate.com/service/translate/caiyun.html)
python3 make_book.py --model caiyun --caiyun_key 3975l6lr5pcbvidl6jl2 --book_name test_books/animal_farm.epub


# 设置环境变量 BBM_CAIYUN_API_KEY 以忽略 --openai_key 选项
export BBM_CAIYUN_API_KEY=${your_api_key}

更易理解的示例

python3 make_book.py --book_name 'animal_farm.epub' --openai_key sk-XXXXX --api_base 'https://xxxxx/v1'

# 如果您的 PATH 中没有 python3
python make_book.py --book_name 'animal_farm.epub' --openai_key sk-XXXXX --api_base 'https://xxxxx/v1'

Microsoft Azure 终端节点

python3 make_book.py --book_name 'animal_farm.epub' --openai_key XXXXX --api_base 'https://example-endpoint.openai.azure.com' --deployment_id 'deployment-name'

# 如果您的 PATH 中没有 python3
python make_book.py --book_name 'animal_farm.epub' --openai_key XXXXX --api_base 'https://example-endpoint.openai.azure.com' --deployment_id 'deployment-name'

Docker

如果您不想手动配置环境,可以使用 Docker

# 构建镜像
docker build --tag bilingual_book_maker .

# 运行容器
# "$folder_path" 表示您的图书文件所在的文件夹,也是处理后文件将被保存的位置。

# Windows PowerShell
$folder_path=your_folder_path # $folder_path="C:\Users\user\mybook\"
$book_name=your_book_name # $book_name="animal_farm.epub"
$openai_key=your_api_key # $openai_key="sk-xxx"
$language=your_language # 参见 utils.py

docker run --rm --name bilingual_book_maker --mount type=bind,source=$folder_path,target='/app/test_books' bilingual_book_maker --book_name "/app/test_books/$book_name" --openai_key $openai_key --language $language

# Linux
export folder_path=${your_folder_path}
export book_name=${your_book_name}
export openai_key=${your_api_key}
export language=${your_language}

docker run --rm --name bilingual_book_maker --mount type=bind,source=${folder_path},target='/app/test_books' bilingual_book_maker --book_name "/app/test_books/${book_name}" --openai_key ${openai_key} --language "${language}"

例如:

# Linux
docker run --rm --name bilingual_book_maker --mount type=bind,source=/home/user/my_books,target='/app/test_books' bilingual_book_maker --book_name /app/test_books/animal_farm.epub --openai_key sk-XXX --test --test_num 1 --language zh-hant

注意事项

  1. 免费试用的 API 令牌有使用限制。如果您希望加快处理速度,可以考虑付费或使用多个 OpenAI 令牌。
  2. 欢迎提交 PR。

感谢

贡献

  • 欢迎任何问题或 PR。
  • 也可以选择 issue 中的待办事项。
  • 请在提交代码前运行 black make_book.py^black

其他优秀工具

致谢

感谢至此。

image

版本历史

v0.9.82024/11/06
v0.9.72024/10/21
v0.9.62024/08/20
v0.9.52024/08/09
v0.9.42024/05/28

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

153.6k|★★☆☆☆|今天
开发框架Agent语言模型

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|4天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|1周前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|1周前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|3天前
图像数据工具视频