新闻详情

新闻详情

首页 / 资讯中心 / 详情

wenyi文译开发者指南:从Provider适配器到操作路由,接入你的专属LLM

发布时间:2026/10/2 17:20:20来源:尧图网络
wenyi文译开发者指南:从Provider适配器到操作路由,接入你的专属LLM
wenyi文译开发者指南从Provider适配器到操作路由接入你的专属LLM【免费下载链接】wenyi将被语言阻隔的作品带到读者的语言中。Bringing literature into your language.项目地址: https://gitcode.com/gh_mirrors/we/wenyiwenyi 文译是一款面向长篇小说的开源 LLM 翻译工具它的 LLM 层采用「Provider 适配器 操作路由」的双层设计你只需实现一个轻量的 Provider 适配器就能把 DeepSeek、OpenAI、Ollama 或任意自建模型接入翻译流水线再借助操作路由为翻译、审校、润色等不同步骤分别指定 strong / cheap / fast 三个档位的模型实现质量与成本的最优平衡。一、LLM 层架构总览10个Provider15个操作wenyi 的核心模型层位于packages/core/wenyi_core/llm/各模块职责清晰模块职责base.py定义所有 Provider 实现的统一接口LLMClient含用量统计与事件上报transport.pyProviderAdapter基类管理 SDK 连接、重试与输出上限registry.pyProvider 注册表kind 名称 → 适配器类与选项类operations.py操作注册表全部 15 个模型操作的声明与默认档位routing.py将操作解析为不可变的路由快照含推理指纹router.pyRoutedLLMClient按路由调用适配器处理失败切换failoverconfiguration.py配置 schemaproviders / models / tiers / routes 四层结构retrying.py可重试错误判定与退避重试内置 10 个 Provider见 registry.pydeepseek、openai、openrouter、opencode-go、openai-compatible、orcarouter、ollama、vllm、gemini以及离线的fake测试用。二、第一步理解 Provider 适配器的最小契约接入一个新模型本质是实现 transport.py 中ProviderAdapter的三个约定声明类属性default_base_url默认端点、default_api_key_envAPI Key 环境变量名、requires_api_key是否需要密钥定义选项模型一个 PydanticOptions类描述该 Provider 特有的请求参数如thinking、reasoning_effort实现_request方法接收消息列表与ResolvedModel调用 SDK 并返回文本内容。如果你接入的是OpenAI 兼容端点Ollama、vLLM 及大多数中转网关都适用可以直接继承 providers/_openai_compatible.py 中的OpenAICompatibleBaseClient它已封装好 SDK 连接、JSON 模式注入、用量归一化与空响应处理只需重写_build_request_kwargs构造请求参数即可——参考 providers/openai.py 中仅 60 行的完整实现。若端点协议不同如 providers/gemini.py则直接继承ProviderAdapter自行实现_request与_normalize_usage。三、第二步注册你的适配器到 Provider 注册表wenyi 的 Provider 不是发现式加载而是显式注册。以 providers/deepseek.py 为例一个完整适配器由三部分组成客户端类如DeepSeekClient负责请求构造与用量归一化选项类如DeepSeekOptions声明thinking等专属参数可选的preset_models()提供三档默认模型让用户可以一行preset开箱即用。然后在 registry.py 的PROVIDERS中登记一行ProviderSpecProviderSpec(myprovider, myprovider, MyClient, MyOptions)注册后配置校验validate_connection/validate_model、路由解析、凭证检查都会自动走你的实现无需改动流水线任何代码。注意 registry.py 会对模型选项做白名单保护api_key、base_url、model等关键字段禁止被用户参数覆盖保证路由与凭证归属不被篡改。四、第三步操作路由为每个步骤挑选合适的模型wenyi 把翻译流程拆成 15 个注册的操作operations.py例如language.detect语言检测→ 默认cheap档translation.body正文翻译→ 默认strong档synopsis.chapter章节摘要→ 默认fast档review.verify/review.arbitrate审校取证与仲裁→strong档且标记为可恢复对话操作路由的三个层级routing.pytiers 档位strong/cheap/fast各自映射到一个模型配置文件覆盖大多数场景routes 覆盖单独为某个操作指定模型或档位fallbacks 备用为主路由配置备用模型主模型调用失败时自动切换可恢复对话类操作除外避免证据链断裂。解析结果是不可变的ResolvedRoute快照并附带 SHA-256 推理指纹——这让续跑、恢复和用量统计都能精确识别同一次推理身份同一模型改名或改参后不会被误用。五、最快上手方法4行配置接入你的LLMwenyi 读取当前目录的 config.yaml最简配置只需一个预设llm: preset: deepseek预设会自动展开为default连接、三档模型与档位映射展开逻辑见 configuration.py。想用自己的 Provider 并精细路由时用完整的四层结构llm: providers: mine: { kind: myprovider, base_url: https://llm.example.com/v1, api_key_env: MY_API_KEY } models: strong_m: { provider: mine, model: my-model-9b, max_output_tokens: 16384 } tiers: strong: strong_m cheap: strong_m fast: strong_m routes: translation.body: model: strong_m fallbacks: [cheap_m] # 主模型失败自动切换保存后可运行uv run wenyi models list查看生效的路由计划。详细的配置字段说明见官方文档 docs/zh/configuration.md 的模型与操作路由一节。六、开发验证不花一分钱的测试路径fake 预设preset: fake提供离线的 providers/fake.py无需任何 API Key 即可跑通全流程适合 CI 与本地调试单元测试参考packages/core/tests/test_llm_routing.py 演示了路由解析断言test_storage_injection.py 展示依赖注入模式用量与事件每次调用自动记录 token 用量含缓存命中并上报llm_request_started/llm_request_failed等事件接入新 Provider 后这些观测能力零成本获得。总结wenyi 的 LLM 层把接入模型拆成了两个正交的问题怎么调用Provider 适配器与何时用哪个模型操作路由。实现适配器只需继承基类并注册一行配置路由只需编辑 YAML。得益于不可变路由快照、推理指纹与统一用量账本你的专属 LLM 接入后即刻享有重试、失败切换、预算限额与完整观测——这正是把长篇小说高质量带入读者语言的工程基础。【免费下载链接】wenyi将被语言阻隔的作品带到读者的语言中。Bringing literature into your language.项目地址: https://gitcode.com/gh_mirrors/we/wenyi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

AI编程进阶:用Superpowers规则驱动,让代码生成不再“看心情” 2026/10/2 18:11:28

AI编程进阶:用Superpowers规则驱动,让代码生成不再“看心情”

1. 从“会用AI”到“会用superpowers”:先搞懂它解决什么问题这几年AI编程工具层出不穷,今天换这个明天换那个,但你会发现一个尴尬的事实:同一个模型,在不同人手里表现差距巨大。有人能用它半小时搞定一个模块&#xf…

阅读更多 →
【贪心-1】55.跳跃游戏 2026/10/2 18:11:22

【贪心-1】55.跳跃游戏

题目描述:给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。示例 …

阅读更多 →
基于XGBoost和LSTM的污染物浓度预测实战方案 2026/10/2 18:11:21

基于XGBoost和LSTM的污染物浓度预测实战方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
常驻智能体产品化元年开启,安全治理成为产业新门槛|2026年10月1日 2026/10/2 18:11:20

常驻智能体产品化元年开启,安全治理成为产业新门槛|2026年10月1日

OpenAI 在 DevDay 上把常驻智能体 Dots 推向付费用户,底层由 GPT-6 Astra 驱动、跑在独立云端计算机上[① MarkTechPost];Anthropic 则用 Claude Sonnet 5.5 把 Terminal-Bench 4.0 推上 70.6%[① MarkTechPost]。模型、智能体与安全三条技术线同日交汇&…

阅读更多 →
ollama v0.35.0发布:决策模型正式上线,接口直接返回选择、概率与评分 2026/10/2 18:11:19

ollama v0.35.0发布:决策模型正式上线,接口直接返回选择、概率与评分

发布日期:2026年9月30日 版本号:v0.35.0 核心关键词:决策模型、/v1/systemone、choice、noul、score、概率、评分、模型路由、工单分流、内容分类Ollama v0.35.0 正式发布。本次更新最值得关注的内容,是新增了对决策模型的支持。 …

阅读更多 →
PyCharm实战对比:传统算法与MTCNN+ArcFace人脸识别管线 2026/10/2 18:11:17

PyCharm实战对比:传统算法与MTCNN+ArcFace人脸识别管线

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉