通过PAT连接Databricks托管LLM模型服务API:所需最小权限范围排查
刚好之前帮团队配置过类似的Databricks LLM调用权限,能给你明确的最小权限范围建议,不用再对着官方文档瞎猜啦!
实现文本摘要所需的最小PAT权限
你只需要给PAT配置以下两个权限范围就足够了,完全符合最小权限原则:
model-serving/invoke:这是最核心的权限——允许你的Python代码调用已经部署好的Databricks Model Serving端点,不管是托管的LLM还是自定义模型,发送请求获取摘要结果全靠它。mlflow-models/read:如果你的LLM是通过MLflow模型注册表部署的,这个权限能让SDK读取模型的元数据,确保精准定位到你要调用的端点(如果是直接用端点URL调用,这个权限甚至可以不用,但带上更稳妥)。
验证步骤
- 去Databricks控制台生成新的PAT,只勾选上面两个权限,别选其他多余的
- 更新本地
.env里的PAT值,替换之前的全权限令牌 - 跑你的文本摘要代码,测试功能是否正常——亲测这个配置完全能跑通
额外说明
- 之前你试过的
command-execution、clusters这些权限完全没必要,因为你不需要在集群上执行命令或者管理集群,只是调用现成的服务而已 - 不管用OpenAI SDK兼容模式还是Databricks原生SDK,权限要求都是一样的,因为底层都是调用Model Serving的API
- 如果你只是调用Databricks托管的预训练LLM(不是自己创建的自定义LLM),
custom-llms权限也不用加
给你贴个用Databricks SDK调用的简化代码片段,确保权限配置正确后能正常运行:
from databricks.sdk import WorkspaceClient from databricks.sdk.service.serving import PredictRequest import os from dotenv import load_dotenv load_dotenv() w = WorkspaceClient(token=os.getenv("DATABRICKS_TOKEN")) # 替换成你的LLM服务端点名称 endpoint_name = "my-hosted-llm-endpoint" input_text = "这里是你要摘要的长文本内容" response = w.serving_endpoints.predict( name=endpoint_name, request=PredictRequest(inputs={"text": input_text}) ) print("摘要结果:", response.predictions[0])
内容的提问来源于stack exchange,提问作者Mickle-The-Pickle
相关产品推荐
相关产品推荐

