尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
LiteLLM Terraform Provider 中的 litellm_access_group 数据源:读取模型访问组的实战指南
LiteLLM Terraform Provider 中的 litellm_access_group 数据源读取模型访问组的实战指南【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm本文围绕 LiteLLM 官方 Terraform Provider 的litellm_access_group数据源展开讲解如何通过 Infrastructure as CodeIaC方式读取 LiteLLM Proxy 中已存在的模型访问组Model Access Group并结合 Provider 的 Go 源码与 Proxy 端的管理接口剖析model_names、deployment_count等输出属性的底层计算逻辑、404 错误处理行为及其适用前提与限制。什么是 Access GroupLiteLLM Proxy 支持将一组模型部署打上同一“访问组”标签供团队Team或 API Key 以组为单位申请模型访问权限简化细粒度访问控制。访问组本质上是写在数据库部署记录model_info.access_groups字段中的标签集合Proxy 通过扫描全部部署的model_info反推出“某个访问组包含哪些模型名、覆盖了多少个部署”而不是以独立表存储。访问组的完整生命周期由一组管理端点支撑定义在 model_access_group_management_endpoints.py 中POST /access_group/new创建访问组按model_names或model_ids打标签GET /access_group/list列出全部访问组GET /access_group/{access_group}/info读取单个访问组详情PUT /access_group/{access_group}/update整组替换成员的部署集合DELETE /access_group/{access_group}/delete删除访问组并清除其预算GET/PUT/DELETE /access_group/{access_group}/budget访问组共享预算的读取、设置与清除。litellm_access_group 数据源用法litellm_access_group数据源按名称读取一个已存在的访问组适用于在 Terraform 配置中引用运维已创建好的访问组例如校验、依赖编排、输出审计信息而不希望在 state 中新增或修改它。示例data litellm_access_group production { access_group production-models } output production_models { value data.litellm_access_group.production.model_names }Argument Referenceaccess_group- (Required) 要查找的访问组名称字符串类型。Attribute Referenceid- 访问组名称即访问组名本身Provider 以名称作为 Terraform Resource ID。model_names- 该访问组包含的模型名称列表。deployment_count- 被打了该访问组标签的部署deployment数量。其中model_names与deployment_count均为Computed只读计算属性在 data_source_access_group.go 的 schema 定义中可以确认access_group是唯一 Required 输入其余字段均由远端响应填充。读取实现与调用链数据源的 Read 函数dataSourceLiteLLMAccessGroupRead的核心逻辑非常直接data_source_access_group.go以GET /access_group/{access_group}/info调用 Proxy请求头携带api_key认证若响应为404直接返回错误access group name not found让terraform plan/apply明确失败而不是静默得到空值解析 JSON 响应结构体accessGroupInfoResponse字段与 AccessGroupInfo 对应access_group、model_names、deployment_count随后写入id、access_group、model_names、deployment_count四个属性。服务端如何计算这两个输出属性对应 Proxy 端get_access_group_info接口model_access_group_management_endpoints.py其数据来源是get_all_access_groups_from_db遍历数据库中每一条部署读取其model_info.access_groups标签按组名聚合去重后的模型名并累加部署计数实现见 L530-L571。因此同一个模型若有多个部署多 Provider、多区域都打了同一组标签deployment_count会大于model_names中该模型出现一次所对应的数量model_names在服务端做了sorted()排序返回结果顺序稳定便于 Terraform 输出对比与 diff 审计。测试对行为的固化Provider 用 httptest 假服务器对读取行为做了单元测试data_source_access_group_test.goTestAccessGroupDataSourceRead断言请求路径必须精确为GET /access_group/prod-models/info响应{access_group: prod-models, model_names: [gpt-4, claude-3], deployment_count: 2}后id、model_names、deployment_count全部按预期写入TestAccessGroupDataSourceReadNotFound断言远端返回 404 时 Read 必须报错验证了“不存在即失败”的语义。与 litellm_access_groups复数数据源的分工同一文件中还注册了复数数据源dataSourceLiteLLMAccessGroups对应GET /access_group/list无输入参数输出access_groups每项含access_group/model_names/deployment_count与ids所有组名列表文档见 access_groups.md。两者分工清晰场景推荐数据源已知组名引用单个组的模型清单litellm_access_group枚举代理上全部组、做存在性校验或生成清单litellm_access_groups典型用法示例data litellm_access_groups all {} output access_group_names { value data.litellm_access_groups.all.ids }两个数据源均在 provider.go 中注册复数版litellm_access_groups与单数版并列可直接在配置中混用。与 litellm_access_group 资源的区别Provider 同时提供同名资源litellm_access_groupresource_access_group.go负责访问组的 CRUD资源 Schema 中access_group为Required ForceNew组名不可变更改组名只能销毁重建支持model_names按模型名批量打标签与model_ids精确到单个部署两种成员指定方式并暴露计算属性deployment_countCreate 走POST /access_group/newUpdate 走PUT /access_group/{name}/update语义为“先剥离全部部署上的该组标签再按新名单重新打上”即整组替换而非增量增删Delete 走DELETE /access_group/{name}/delete资源的 Read 在收到 404 时执行d.SetId()把资源从 state 中移除而数据源 Read 收到 404 时直接报错——这是 Terraform 资源与数据源的标准语义差异资源可漂移消失数据源引用不存在的对象必须失败。因此实践中常见组合是用资源声明并纳管访问组用数据源在另一份配置如团队、密钥配置中引用已存在的组。Provider 接入前提与版本对齐使用任一 access_group 数据源前需先配置 Provider。按 README 的约定Provider 版本号与 LiteLLM Proxy 版本号保持同线发布同 commit 构建应把 Provider 版本钉到你 Proxy 实际运行的版本例如terraform { required_providers { litellm { source BerriAI/litellm version ~ 1.99.0 # 与你的 Proxy 版本对齐 } } } provider litellm { api_base var.litellm_api_base api_key var.litellm_api_key }api_key需要具有访问管理端点的权限端点挂有user_api_key_auth依赖api_base指向 LiteLLM Proxy 地址。适用前提与已知限制仅支持数据库模型Proxy 端在按model_names创建/更新访问组时明确要求模型必须存在于数据库中源码注释Access group management is only supported for database models见 model_access_group_management_endpoints.py访问组信息接口的数据也完全来自数据库部署表。配置在 YAML 配置文件中的模型不会出现在访问组里。Proxy 必须连接数据库/access_group/{name}/info在未连接数据库时返回 500Database not connected.此时数据源读取同样失败。预算属性暂不在数据源范围内Provider 仓库的端点审计工具tools/endpointaudit/见 coverage_allowlist.txt将GET/PUT/DELETE /access_group/{access_group}/budget标注为“known gap: budget attributes on litellm_access_group”——即访问组的共享预算与 spend 目前尚未暴露为该数据源/资源的属性服务端返回的spend、budget字段见AccessGroupInfo类型在数据源中未被读取。若需要预算信息需直接调用 REST API。不要与 unified_access_group 混淆仓库中另有一套litellm_unified_access_group数据源文档按access_group_id查询统一访问组可授权模型、MCP Server、Agent 并分配给团队/密钥字段更丰富本文的litellm_access_group是更早期的“模型访问组”概念仅覆盖模型维度的分组。小结litellm_access_group数据源以极小的接口面一个输入access_group三个输出id/model_names/deployment_count覆盖了“在 IaC 中引用既有模型访问组”的典型需求其背后是 Proxy 对数据库部署标签的实时聚合计算404 即失败、属性稳定排序等细节均有单元测试固化。结合复数数据源litellm_access_groups与同名资源可以在 Terraform 中完整表达访问组的“声明—引用—审计”工作流需要注意的是其仅对数据库模型生效且预算相关端点目前是 Provider 的已知能力缺口。【免费下载链接】litellmThe fastest, litest AI Gateway. Rust core with Python SDK. Call 100 LLM APIs in OpenAI (or native) format with cost tracking, guardrails, load balancing, and logging [Bedrock, Azure, OpenAI, Anthropic, OpenAI, VertexAI, vLLM, Nvidia NIM]项目地址: https://gitcode.com/GitHub_Trending/li/litellm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

ingress-nginx 版本兼容性指南:一张速查表选对版本,3 条路线安全升级

ingress-nginx 版本兼容性指南:一张速查表选对版本,3 条路线安全升级

ingress-nginx 版本兼容性指南:一张速查表选对版本,3 条路线安全升级 【免费下载链接】ingress-nginx Ingress NGINX Controller for Kubernetes 项目地址: https://gitcode.com/GitHub_Trending/in/ingress-nginx 集群一升级,ingress…

📅 2026/9/8 21:08:43
YOLO11火灾烟雾双目标检测:工业级落地方法论

YOLO11火灾烟雾双目标检测:工业级落地方法论

简介:本资源是一套基于YOLO11的火灾与烟雾双类别目标检测系统,面向计算机、人工智能、自动化等专业学生、教师及工程实践者,解决真实场景下早期火情识别与预警需求,适用于课程设计、毕业设计、科研验证及轻量级安防部署。压缩包共…

📅 2026/9/8 21:08:43
Agent Zero 模型配置指南:从 API 密钥到端点 URL,10 分钟让 AI 代理开工

Agent Zero 模型配置指南:从 API 密钥到端点 URL,10 分钟让 AI 代理开工

Agent Zero 模型配置指南:从 API 密钥到端点 URL,10 分钟让 AI 代理开工 【免费下载链接】agent-zero Agent Zero AI framework 项目地址: https://gitcode.com/GitHub_Trending/ag/agent-zero 第一次装完 Agent Zero,最卡人的往往不是…

📅 2026/9/8 21:03:43
MORE NEWS

更多资讯

📰

基于PYNQ的HDMI输入输出实现:从接口原理到动态加载实战

简介:面向 PYNQ 与 Zynq 平台的 HDMI 输入输出完整工程包,主要解决嵌入式开发者在 FPGA 上快速配置 HDMI 视频通路的需求;工程已在板卡上跑通,适合具备基础 FPGA 知识、希望从零理解视频接口开发的工程师参考。压缩包共 380 个文件…

📰

免装Office的Excel读写库libxl:4.1.1选型与部署实践

简介:LibXL 4.1.1最新版资源包,是一款跨平台的轻量级Excel读写C库,附带注册信息,适用于Windows和Linux下的C/C开发者,解决在不依赖Office组件的情况下创建、读取和修改xls/xlsx文档的问题。资源包共726个文件&#xff…

📰

AI测试开发转型:从功能测试到智能体质量保障的实战路径

1. AI智能体开发需求暴涨,测试人正站在转型路口最近行业里最热闹的消息,莫过于央视财经提到的AI智能体开发人才需求大涨244%。这个数字一出来,我身边不少做测试的朋友都坐不住了。有人焦虑,觉得AI要取代手工测试了;有人…

📰

GPU显存带宽瓶颈:为什么显存够用却训练卡顿发烫

1. 项目概述:GPU的“粮道”不是显存容量,而是带宽通路 你有没有遇到过这样的场景:明明买了24GB显存的RTX 4090,跑一个中等规模的LoRA微调任务,显存只占了65%,但训练速度却卡在每秒0.8个step,GPU…

📰

openwikis开源权威指南:一站式解决许可证、镜像站与社区协作难题

1. 这个项目到底在解决什么问题1.1 开源知识碎片化,新手学习成本高这两年开源热到什么程度?打开招聘软件,JD上满屏都是"熟悉开源社区协作流程""有开源项目贡献经验优先";打开技术社区,GitHub 趋势…

📰

DeepSeek Harness配置指南:通用设置与Agent预设实战

DeepSeek Harness 装好之后,有一段时间我很困惑:能打开界面、能聊天,但每次换任务都要重新解释一遍需求,模型回答风格忽冷忽热,多聊几轮就开始丢上下文。后来我把通用设置从头到尾捋了一遍,又用 Agent 预设…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬