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:
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"
}
}
]
}
}
Logboekfunctie opzoeken van DataFrames naar deductietabellen
Als u inferentietabellen hebt ingeschakeld voor uw eindpunt, kunt u uw gegevensframe voor automatische kenmerkopzoeking in die inferentietabel registreren met behulp van ENABLE_FEATURE_TRACING
. Hiervoor is MLflow 2.14.0 of hoger vereist.
Stel ENABLE_FEATURE_TRACING
in als een omgevingsvariabele in de gebruikersinterface of de REST API wanneer u een eindpunt maakt of bijwerkt.
Vanuit de gebruikersinterface voor serveren:
- Selecteer in Geavanceerde configuraties** + Omgevingsvariabelen toevoegen**.
- Typ
ENABLE_FEATURE_TRACING
als de naam van de omgeving. - Typ
true
in het veld aan de rechterkant.
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 environment_vars
om de omgevingsvariabele ENABLE_FEATURE_TRACING
te configureren.
{
"name": "endpoint-name",
"config": {
"served_entities": [
{
"entity_name": "model-name",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": "true",
"environment_vars": {
"ENABLE_FEATURE_TRACING": "true"
}
}
]
}
}
Omgevingsvariabelen op basis van geheimen toevoegen
U kunt referentiegegevens veilig opslaan met behulp van Databricks-geheimen en naar die geheimen verwijzen bij het bedienen van modellen met behulp van omgevingvariabelen die op geheimen zijn gebaseerd. Hierdoor kunnen inloggegevens worden opgehaald van modelbedieningseindpunten op het moment van bediening.
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 uitrollen van OpenAI- en LangChain MLflow-modelsmaken voor serveren. 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 geheime scope. Zie Geheime bereiken beheren.
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 platte tekst omgevingsvariabele.
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 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 modelserve automatisch de geheime sleutel op uit het Databricks-geheimenbereik en vult het de omgevingsvariabele in voor uw modeldeductiecode om te gebruiken.
Voorbeeld van notitieblok
Zie het volgende notebook voor een voorbeeld van hoe u een OpenAI-API-sleutel configureert voor een LangChain Retrieval QA-keten die is geïmplementeerd achter de modellendiens-eindpunten met geheim-gebaseerde omgevingsvariabelen.