恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
如何为Jellyfish添加新的LLM供应商:能力注册表与任务适配器完整清单
首页
资讯中心
/
如何为Jellyfish添加新的LLM供应商:能力注册表与任务适配器完整清单
如何为Jellyfish添加新的LLM供应商:能力注册表与任务适配器完整清单
发布时间:2026/9/1 21:21:49
如何为Jellyfish添加新的LLM供应商能力注册表与任务适配器完整清单【免费下载链接】JellyfishAn end-to-end production workspace for AI-generated short dramas. From script input to structured storyboarding, consistency management, shot preparation, video generation, and export.项目地址: https://gitcode.com/gh_mirrors/jellyfish9/Jellyfish在Jellyfish这个 AI 短剧生产工作流平台中添加新的LLM 供应商如 OpenAI、火山引擎、阿里百炼遵循一套清晰的双层注册机制能力注册表 任务适配器注册。本文带你完整走一遍流程。为什么要区分两层注册Jellyfish 中供应商相关概念分为两层扩展时通常要同时考虑层级回答的问题实现位置能力注册表系统认识哪些供应商 key、别名、支持哪些模型类别、默认 base URLprovider_registry.py任务执行器注册表某类异步任务图片/视频生成在某个供应商上由哪个工厂函数构造执行器registry.py 核心区别能力表只说明产品层面支持任务表说明Worker 能执行。两层都注册新功能才真正可用。Jellyfish 的资产管理界面示例供应商生成的图片、视频等资产在此统一管理第一层在能力注册表中登记供应商能力规格通过ProviderSpec数据类描述内置供应商的登记入口在 provider_bootstrap.py。以新增 keyacme为例需要补充以下字段key稳定小写 key与任务注册、数据库中的命名约定一致aliases兼容历史名称、中文名、常见拼写如火山引擎的别名包含volc、doubao、bytedancesupported_categories该供应商实际支持的模型类别text/image/videodefault_base_urlUI 创建 Provider 时展示的默认 endpoint纯网关型可留空。注册逻辑在 provider_registry.py 的register_provider中实现key 或别名与已有注册冲突时会直接抛错避免静默覆盖保证注册表数据可靠。第二层注册任务适配器能力表有 key 不代表能跑任务。任务适配器的注册表以(任务类型, 供应商 key)二元组为索引内置注册清单集中在 tasks/bootstrap.py 的TASK_ADAPTER_SPECS中image_generationopenai→ImageGenerationTask._build_openai_implimage_generationvolcengine→ImageGenerationTask._build_volcengine_implvideo_generationopenai→VideoGenerationTask._build_openai_implvideo_generationvolcengine→VideoGenerationTask._build_volcengine_impl新增供应商时对每一种要跑在它上面的任务类型调用一次register_task_adapter即可。工厂未注册时任务分派会在运行时报错这个显式报错反而有助于尽早暴露遗漏。编写具体实现类在 integrations 目录下OpenAI 与火山引擎的 HTTP 适配层按供应商分目录组织openai/images.py、video.py、video_payload.py、image_capabilities.py、video_capabilities.pyvolcengine/与上述同构的适配文件新增供应商acme时的步骤在app/core/integrations/下为acme增加图片/视频 API 适配类httpx 调用与 JSON 映射在 image_generation_tasks.py / video_generation_tasks.py 中增加_build_acme_impl工厂构造 Task 并注入对应 adapter在 bootstrap.py 中把(task_kind, acme)→ 工厂 注册进去。注意ImageGenerationTask/VideoGenerationTask本身只做生命周期管理与轮询节奏不直接拼 httpx 细节与任务输入输出共用的 Pydantic 模型放在app/core/contracts/下避免循环导入。启动顺序与 Base URL 优先级应用启动时由 bootstrap.py 的bootstrap_all_registries()先bootstrap 供应商能力再bootstrap 任务适配器保证解析供应商 key 时注册表已就绪。运行时 Base URL 的解析优先级按类别imageimage_base_urlbase_urlProviderSpec.default_base_urlvideovideo_base_urlbase_urlProviderSpec.default_base_urltextbase_urlProviderSpec.default_base_url该逻辑由 provider_resolver.py 的resolve_effective_base_url实现优先级链清晰且可测试。前端展示与验证清单能力注册表对外只读入口是GET /api/v1/llm/providers/supported可按category过滤供前端展示可选能力与默认值提示路由见 routes/llm.py。Jellyfish 项目工作台界面短剧从剧本输入到分镜、镜头准备、视频生成与导出的一体化流程验证新供应商时建议按官方文档 llm-provider-registration.md 的清单逐项检查✅ 跑 LLM 路由相关测试如 test_llm_api_responses.py 中对providers/supported的断言✅ 跑任务注册测试 test_task_registry.py✅ 适配层可在backend/tests/core/integrations/下补充基于httpx.MockTransport的单测无需真实网络✅ 若暴露了新 API 或响应字段执行pnpm run openapi:update更新前端 generated client。小结为 Jellyfish 添加新 LLM 供应商的核心路径可以概括为一条清单能力注册表在provider_bootstrap.py增加一条ProviderSpeckey、别名、类别、默认 URL任务适配器在tasks/bootstrap.py为每种任务类型注册工厂HTTP 适配层在integrations/下新增供应商目录与实现类验证跑路由与注册表测试必要时更新 OpenAPI 生成物。理解能力表 产品支持、任务表 可执行这一分工你就掌握了 Jellyfish 供应商扩展机制的完整脉络后续接入任何新模型服务商都能按图索骥、快速落地。【免费下载链接】JellyfishAn end-to-end production workspace for AI-generated short dramas. From script input to structured storyboarding, consistency management, shot preparation, video generation, and export.项目地址: https://gitcode.com/gh_mirrors/jellyfish9/Jellyfish创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考