Skip to content

使用 OpenAI 兼容接口自动生成小说、漫画、字幕、游戏脚本等内容文本中实体词语表的翻译辅助工具

Notifications You must be signed in to change notification settings

neavo/KeywordGacha

Repository files navigation

KeywordGacha

使用 OpenAI 兼容接口自动生成小说、漫画、字幕、游戏脚本等内容文本中实体词语表的翻译辅助工具

   

概述 📢

  • KeywordGacha,简称 KG,使用 AI 技术来自动生成 实体词语表 的次世代工具
  • 实体词语表 可以在一定程度上解决在长篇文本翻译过程中 人名 等实体词语翻译版本不统一的问题
  • 根据 中、英、日、韩 文本内容自动生成 实体词语表,并且 自动翻译自动总结自动分析
  • 相较传统工具,具有高命中、语义化、智能总结角色信息等特色,对文本的兼容性更好
  • 极大的提升 小说漫画字幕游戏脚本 等内容译前准备时制作词语表的工作效率
  • 随机选取 绿站榜单作品 作为测试样本,与人工校对制作的词表对比,命中率约为 80%-90%
image/01.jpg
image/02.jpg

特别说明 ⚠️

  • 如您在翻译过程中使用了 KeywordGacha,请在作品信息或发布页面的显要位置进行说明!

配置要求 🖥️

  • 兼容 OpenAI 标准的 AI 大模型接口
  • 注意,SakuraLLM 系列模型只具有翻译功能,无法进行文本分析,不能与 KG 配合使用

使用流程 🛸

  • 发布页百度网盘 下载应用
  • 打开配置文件 config.json,填入 API 信息,推荐在以下两种方式中选择其一:
  • 双击 01_启动.bat 启动应用,处理流程结束后,结果会保存在 output 文件夹内
  • 其中:
  • 遵循 常见问题 里的建议以获得最佳的使用效果

文本格式 🏷️

  • 支持从 .txt.csv.json.xlsx 文件中读取文本
  • 大部分主流的 小说游戏脚本 数据格式都可以直接或者通过转换被 KG 识别
  • 输入路径是文件夹时,会读取文件夹内所有的 .txt.csv.json.xlsx 文件
  • 当应用目录下有 input 文件夹时,会自动读取 input 内所有的 .txt.csv.json.xlsx 文件
  • 具体可见 支持的文件格式

近期更新 📅

  • 20241226 v0.8.2

    • 一些细节优化
  • 20241218 v0.8.1

    • 重新设计了工作流程,得益于此:
      • 英文与韩文分析能力强化
      • 非角色类实体分析能力显著强化
      • 较大幅度的减少了 时间Token 消耗
    • 配套本地模型切换至 Qwen2.5-7B,使用本地模型的同学请一并更新 -> KeywordGachaServer
  • 20241213 v0.7.0

    • 分析能力提升,主要来自于:
      • NER 模型更新
      • 参考文本匹配机制优化

设置说明 🎚️

{
    "api_key": [
        "no_key_required",
        "接口密钥,从接口平台方获取,使用在线接口时一定要设置正确。"
    ],
    "base_url": [
        "http://localhost:8080/v1",
        "请求地址,从接口平台方获取,使用在线接口时一定要设置正确。"
    ],
    "model_name": [
        "no_name_required",
        "模型名称,从接口平台方获取,使用在线接口时一定要设置正确。"
    ],
    "count_threshold": [
        1,
        "出现次数阈值,出现次数低于此值的词语会被过滤掉以节约时间。"
    ],
    "request_timeout": [
        180,
        "网络请求超时时间,如果频繁出现 timeout 字样的网络错误,可以调大这个值。"
    ],
    "request_frequency_threshold": [
        3,
        "网络请求频率阈值,单位为 次/秒,值可以小于 1,如果频繁出现 429 代码的网络错误,可以调小这个值。",
        "使用 llama.cpp 运行的本地模型时,将根据 llama.cpp 的配置调整自动设置,无需手动调整这个值。",
        "使用 DeepSeek 等不限制并发数的在线接口时可以调大这个值。"
    ],
    "context_translate_per": [
        1,
        "是否翻译人名实体上下文,1 - 翻译,0 - 不翻译,比较慢,根据需求自己决定是否开启。"
    ],
    "context_translate_other": [
        0,
        "是否翻译其他实体上下文,1 - 翻译,0 - 不翻译,比较慢,根据需求自己决定是否开启。"
    ]
}

常见问题 📥

  • 分析 小说文本 的最佳实践

    • 提前移除 作者评论出版社信息 等与故事内容无关的文本
    • 目前模型能处理的单行最大长度约为 500 字,过长的句子会被截断,超长单行文本请提前手动分行
  • 处理 游戏文本 的最佳实践

    • 使用 Translator++ 导出游戏文本为 csvxlsx 格式
    • 对于 RPGMaker MV/MZ 游戏
    • 如果抓取效果不好,可以多试几种导出工具和导出格式,有时候会有奇效

开发计划 📈

  • 添加 对 英文内容 的支持
  • 添加 对 中文内容 的支持
  • 添加 对 韩文内容 的支持
  • 添加 对 俄文内容 的支持

问题反馈 😥

  • 运行时的日志保存在程序目录下的 *.log 等日志文件内
  • 反馈问题的时候请附上这些日志文件

About

使用 OpenAI 兼容接口自动生成小说、漫画、字幕、游戏脚本等内容文本中实体词语表的翻译辅助工具

Resources

Stars

Watchers

Forks