Delen via


Toegang tot resources configureren vanuit het model dat eindpunten bedient

In dit artikel wordt beschreven hoe u toegang tot externe en privébronnen configureert vanuit het model dat eindpunten bedient. Model Serving ondersteunt omgevingsvariabelen met tekst zonder opmaak en omgevingsvariabelen op basis van geheimen met behulp van Databricks-geheimen.

Vereisten

Voor omgevingsvariabelen op basis van geheimen,

  • De maker van het eindpunt moet leestoegang hebben tot de Databricks-geheimen waarnaar wordt verwezen in de configuraties.
  • U moet referenties, zoals uw API-sleutel of andere tokens, opslaan als een Databricks-geheim.

Omgevingsvariabelen voor tekst zonder opmaak toevoegen

Gebruik omgevingsvariabelen voor tekst zonder opmaak om variabelen in te stellen die niet hoeven te worden verborgen. U kunt variabelen instellen in de gebruikersinterface van De server of de REST API wanneer u een eindpunt maakt of bijwerkt.

Vanuit de servergebruikersinterface kunt u een omgevingsvariabele toevoegen in geavanceerde configuraties:

Een eindpunt voor het leveren van een model maken

Hier volgt een voorbeeld voor het maken van een service-eindpunt met behulp van de POST /api/2.0/serving-endpoints REST API en het veld voor het environment_vars configureren van uw omgevingsvariabele.


{
  "name": "endpoint-name",
  "config":{
   "served_entities": [{
     "entity_name": "model-name",
     "entity_version": "1",
     "workload_size": "Small",
     "scale_to_zero_enabled": "true",
     "environment_vars":{
        "TEXT_ENV_VAR_NAME": "plain-text-env-value"
      }
    }]
  }
}

Omgevingsvariabelen op basis van geheimen toevoegen

U kunt referenties veilig opslaan met behulp van Databricks-geheimen en verwijzen naar die geheimen in het model met behulp van omgevingsvariabelen op basis van geheimen. Hierdoor kunnen referenties worden opgehaald uit modellen die eindpunten leveren op het moment dat ze worden geleverd.

U kunt bijvoorbeeld referenties doorgeven om OpenAI en andere eindpunten voor externe modellen aan te roepen of toegang te krijgen tot externe gegevensopslaglocaties rechtstreeks vanuit de service van het model.

Databricks raadt deze functie aan voor het implementeren van OpenAI - en LangChain MLflow-models. Het is ook van toepassing op andere SaaS-modellen waarvoor referenties zijn vereist, met het inzicht dat het toegangspatroon is gebaseerd op het gebruik van omgevingsvariabelen en API-sleutels en tokens.

Stap 1: Een geheim bereik maken

Tijdens het leveren van modellen worden de geheimen opgehaald uit Databricks-geheimen door het geheime bereik en de sleutel. Deze worden toegewezen aan de namen van de geheime omgevingsvariabelen die in het model kunnen worden gebruikt.

Maak eerst een geheim bereik. Zie Geheime bereiken.

Hier volgen CLI-opdrachten:


databricks secrets create-scope my_secret_scope

Vervolgens kunt u uw geheim toevoegen aan een gewenst geheimbereik en -sleutel, zoals hieronder wordt weergegeven:


databricks secrets put-secret my_secret_scope my_secret_key

De geheime informatie en de naam van de omgevingsvariabele kunnen vervolgens worden doorgegeven aan uw eindpuntconfiguratie tijdens het maken van het eindpunt of als een update van de configuratie van een bestaand eindpunt.

Stap 2: Geheime bereiken toevoegen aan eindpuntconfiguratie

U kunt het geheime bereik toevoegen aan een omgevingsvariabele en die variabele doorgeven aan uw eindpunt tijdens het maken van eindpunten of configuratie-updates. Zie Aangepast model maken voor eindpunten.

Vanuit de gebruikersinterface van De server kunt u een omgevingsvariabele toevoegen in geavanceerde configuraties. De omgevingsvariabele op basis van geheimen moet worden opgegeven met behulp van de volgende syntaxis: {{secrets/scope/key}}. Anders wordt de omgevingsvariabele beschouwd als een omgevingsvariabele zonder opmaak.

Een eindpunt voor het leveren van een model maken

Hier volgt een voorbeeld voor het maken van een service-eindpunt met behulp van de REST API. Tijdens het maken van het model voor eindpunten en configuratie-updates kunt u een lijst met geheime omgevingsvariabelespecificaties opgeven voor elk geleverd model in de API-aanvraag met behulp van het environment_vars veld.

In het volgende voorbeeld wordt de waarde toegewezen van het geheim dat in de opgegeven code is gemaakt aan de omgevingsvariabele OPENAI_API_KEY.

{
  "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}}"
      }
    }]
   }
}

U kunt ook een service-eindpunt bijwerken, zoals in het volgende PUT /api/2.0/serving-endpoints/{name}/config REST API-voorbeeld:


{
  "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}}"
     }
   }]
}

Nadat het eindpunt is gemaakt of bijgewerkt, haalt het model dat de geheime sleutel automatisch ophaalt uit het databricks-geheimenbereik en vult de omgevingsvariabele voor uw modeldeductiecode die moet worden gebruikt.

Voorbeeld van notitieblok

Zie het volgende notebook voor een voorbeeld van het configureren van een OpenAI-API-sleutel voor een Qa-keten voor langchainherstel die is geïmplementeerd achter het model dat eindpunten bedient met omgevingsvariabelen op basis van geheimen.

Toegang tot resources configureren vanuit het notebook voor het leveren van eindpunten van het model

Notebook downloaden