Configure o acesso a recursos de endpoints de serviço de modelo

Importante

Este é um recurso experimental e a definição da API pode mudar.

Este artigo descreve como configurar o acesso a recursos externos e privados do endpoint de serviço de modelo usando segredos do Databricks.

O que são variáveis de ambiente baseadas em segredos?

Com a variável de ambiente baseada em segredos, você pode armazenar credenciais com segurança em um Databricks Secret Scope e fazer referência a esses segredos no modelo de serviço. Isso permite que as credenciais sejam buscadas no tempo de serviço dos endpoints de serviço do modelo.

Por exemplo, você pode passar credenciais para chamar OpenAI e outros endpoints de modelo externo ou acessar locais de armazenamento de dados externos diretamente do serviço de modelo.

A Databricks recomenda esse recurso para aprimorar os tipos de modelo OpenAI e LangChain MLflow para servir. Também é aplicável a outros modelos SaaS que requerem credenciais com o entendimento de que o padrão de acesso é baseado no uso de variável de ambiente e key de API e tokens.

Requisitos

  • Atualmente, essa funcionalidade só tem suporte por meio da API REST do Databricks.

  • Para usar esse recurso, você deve armazenar credenciais como sua key de API ou outros tokens como um segredo do Databricks.

  • O criador endpoint deve ter acesso de leitura aos segredos do Databricks sendo referenciados nas configurações.

Criar um Secret Scope

Durante a exibição do modelo, os segredos são recuperados dos segredos do Databricks pelo Secret Scope e key. Eles são atribuídos à variável secreta de nomes de ambiente que podem ser usados dentro do modelo.

Primeiro, crie um Secret Scope para essa finalidade. A seguir estão os comandos da CLI:

databricks secrets create-scope my_secret_scope

Você pode adicionar seu segredo a um Secret Scope e key de segredo desejados, conforme mostrado abaixo:

databricks secrets put-secret my_secret_scope my_secret_key

A informação secreta e o nome da variável de ambiente podem então ser passados para a configuração endpoint durante a criação endpoint ou como uma atualização para a configuração de um endpoint existente.

Adicionar Secret Scope à configuração do endpoint

Durante a criação endpoint de atendimento do modelo e atualizações de configuração, você pode fornecer uma lista de especificações secretas de variáveis de ambiente para cada modelo atendido dentro da solicitação de API usando o campo environment_vars. O exemplo a seguir atribui o valor do segredo criado no código fornecido à variável de ambiente OPENAI_API_KEY.

A seguir, um exemplo de criação de um endpoint de serviço. Consulte Criar endpoint de modelo de serviço personalizado

POST /api/2.0/serving-endpoints

{
  "name": "endpoint-name",
  "config":{
   "served_entities": [{
     "entity_name": "model-name",
     "entity_version": "1",
     "workload_size": "Small",
     "scale_to_zero_enabled": "true",
     "environment_vars":{
        "OPENAI_API_KEY": "{{secrets/my_secret_scope/my_secret_key}}"
      }
    }]
   }
}

Você também pode atualizar um endpoint de serviço, como no exemplo a seguir:

PUT /api/2.0/serving-endpoints/{name}/config

{
  "served_entities": [{
    "entity_name": "model-name",
    "entity_version": "2",
    "workload_size": "Small",
    "scale_to_zero_enabled": "true",
    "environment_vars":{
      "OPENAI_API_KEY": "{{secrets/my_secret_scope/my_secret_key}}"
     }
   }]
}

Depois que o endpoint é criado ou atualizado, o serviço de modelo busca automaticamente a key secreta do Databricks Secret Scope e preenche a variável de ambiente para seu código de inferência de modelo usar.

exemplo Notebook

Consulte o Notebook a seguir para obter um exemplo de como configurar uma key de API OpenAI para uma cadeia de controle de qualidade de recuperação LangChain implantada atrás do endpoint de modelo envolvido com variável de ambiente baseada em segredo.

Configure o acesso a recursos de endpoints de serviço de modelo Notebook

Abra o bloco de anotações em outra guia