如何为mLLMCelltype注册自定义LLM模型与提供商:扩展细胞类型注释的完整教程 如何为mLLMCelltype注册自定义LLM模型与提供商扩展细胞类型注释的完整教程【免费下载链接】mLLMCelltypeCell type annotation for single-cell RNA-seq using multi-LLM consensus项目地址: https://gitcode.com/gh_mirrors/ml/mLLMCelltypemLLMCelltype是一款基于多 LLM 共识Multi-LLM Consensus的单细胞 RNA-seq 细胞类型注释工具它把多个大语言模型的预测结果汇总投票为 scRNA-seq 数据的每个细胞簇给出更可靠的细胞类型标签。除了内置的 OpenAI、Anthropic、DeepSeek、Gemini 等主流模型外它还支持注册自定义 LLM 模型与提供商——无论是你自己部署的开源大模型还是新发布、尚未被内置支持的模型都可以在几分钟内接入注释流程。本教程将带你从零完成注册。为什么需要注册自定义模型mLLMCelltype 内置了11 个 LLM 提供商通过模型名前缀自动路由请求常见前缀如下内置提供商可识别的模型名前缀OpenAIgpt-*、o1/o3/o4、codex-*Anthropicclaude-*DeepSeekdeepseek-*Geminigemini-*通义千问qwen*、qwq-*阶跃星辰step-*智谱glm-*、chatglm*MiniMaxminimax-*Grokgrok-*Kimi月之暗面kimi-*、moonshot-*OpenRouter名称中含/的任意模型路由逻辑由 get_provider() 函数实现它先检查模型名是否已注册为自定义模型再依次匹配内置前缀。当模型名既不在上表、也未注册时工具会报出 Cannot determine provider 错误——这正是自定义注册最常见的触发场景。以下三类需求是注册自定义模型的典型动机自托管模型用 vLLM、Ollama 等在本地或内网部署的开源大模型新发布模型命名不符合内置前缀规则尚未被官方收录企业 API 网关通过统一代理出口调用多家厂商的模型服务。注册核心机制两个函数两步走整个注册流程只依赖两个函数源码见 custom_model_manager.Rregister_custom_provider(provider_name, process_fn, description NULL)注册一个自定义提供商核心是提交一个处理函数process_fn。register_custom_model(model_name, provider_name, model_config list())在该提供商下注册一个自定义模型可附带temperature、max_tokens等配置。三个关键约定注册前务必了解process_fn必须接受prompt、model、api_key三个参数可选再接受model_config和base_url并返回模型响应文本名称会被自动转为小写且只能包含字母、数字、点号、下划线、连字符内置提供商名如openai、claude为保留名不能重复注册。注册成功后get_provider()会自动把该模型名的请求路由到你的process_fn后续注释调用无需任何改动。三步注册教程以接入一个OpenAI 兼容端点如自托管的 vLLM 服务为例。第一步编写模型处理函数处理函数负责把 prompt 发给你自己的 API 端点并返回响应文本my_process_fn - function(prompt, model, api_key) { response - httr::POST( url http://localhost:8000/v1/chat/completions, body list(model model, messages list(list(role user, content prompt))), httr::add_headers(Authorization paste(Bearer, api_key)), encode json ) httr::content(response)$choices[[1]]$message$ }⚠️ 返回的必须是字符型文本mLLMCelltype 内置的响应解析器会负责从中提取细胞类型标签你不需要做任何后处理。第二步注册自定义提供商register_custom_provider( provider_name my_llm, process_fn my_process_fn, description My self-hosted LLM service )第三步注册自定义模型register_custom_model( model_name my-local-model, provider_name my_llm, model_config list(temperature 0.7, max_tokens 2000) )直接用于细胞类型注释注册完成后自定义模型与内置模型用法完全一致results - annotate_cell_types( input your_markers, tissue_name human PBMC, model my-local-model, api_key your-api-key )你同样可以把它放进多模型共识流程中与gpt-5.5、claude-sonnet-4-6等内置模型一起投票进一步提升注释稳健性。查看与管理已注册的模型注册信息保存在当前 R 会话中重启会话后需重新注册。用下面两个函数即可随时核查list_custom_providers() # 已注册的自定义提供商 list_custom_models() # 已注册的自定义模型常见问题排查报错信息原因与解决办法Provider xxx is reserved for a built-in provider名称与内置提供商冲突换一个名称即可process_fn must accept parameters: prompt, model, api_key处理函数缺少必需参数请补齐三个形参Provider xxx does not exist模型注册前必须先注册提供商注意顺序Model xxx already exists同名模型重复注册改名为my-local-model-v2之类自定义模型报does not accept base_url传了base_url但函数未声明该参数给process_fn加上base_url NULL形参另外请注意自定义注册功能目前由 R 版提供见 R/vignettes/advanced-features.Rmd 的 Custom Processing Functions 一节Python 版python/mllmcelltype/config.py采用固定的提供商配置表暂不支持动态注册。小结为 mLLMCelltype 接入新模型只需三步写好接受prompt / model / api_key的处理函数 →register_custom_provider()注册提供商 →register_custom_model()注册模型。之后你的自定义 LLM 就能与内置模型一样参与单细胞细胞类型注释与多模型共识投票让工具真正适配你的私有算力与最新模型生态。【免费下载链接】mLLMCelltypeCell type annotation for single-cell RNA-seq using multi-LLM consensus项目地址: https://gitcode.com/gh_mirrors/ml/mLLMCelltype创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考