Konfigurace přístupu k prostředkům z modelů obsluhujících koncové body
Tento článek popisuje, jak nakonfigurovat přístup k externím a privátním prostředkům z modelů obsluhujících koncové body. Obsluha modelu podporuje proměnné prostředí ve formátu prostého textu a proměnné prostředí založené na tajných kódech založených na tajných kódech Databricks.
Požadavky
Pro proměnné prostředí založené na tajných kódech:
- Tvůrce koncového bodu musí mít přístup pro čtení k tajným kódům Databricks, na které se odkazuje v konfiguracích.
- Musíte uložit credentials jako tajný klíč Databricks, stejně jako svůj klíč API nebo jiné tokeny.
Přidání proměnných prostředí ve formátu prostého textu
Proměnné prostředí ve formátu prostého textu použijte k set proměnných, které nemusí být skryté. Proměnné můžete set v uživatelském rozhraní Serving nebo v rozhraní REST API, když vytváříte nebo update koncový bod.
V uživatelském rozhraní obsluhy můžete přidat proměnnou prostředí v rozšířených konfiguracích:
Následuje příklad vytvoření koncového bodu obsluhy pomocí POST /api/2.0/serving-endpoints
rozhraní REST API a environment_vars
pole pro konfiguraci proměnné prostředí.
{
"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"
}
}]
}
}
Přidání proměnných prostředí založených na tajných kódech
Bezpečně můžete ukládat credentials pomocí tajných kódů Databricks a odkazovat na tyto tajné kódy v modelu, který slouží pomocí proměnných prostředí založených na tajných kódech. To umožňuje načíst credentials z koncových bodů sloužících model v čase obsluhy.
Můžete například předat credentials pro volání OpenAI a dalších koncových bodů externího modelu nebo přímo přistupovat k umístěním externího úložiště dat během poskytování modelu.
Databricks doporučuje tuto funkci pro nasazení modelů OpenAI a LangChain MLflow do obsluhy. Platí také pro jiné modely SaaS, které vyžadují credentials s pochopením, že vzor přístupu je založený na používání proměnných prostředí a klíčů a tokenů rozhraní API.
Krok 1: Vytvoření oboru tajných kódů
Během poskytování modelu se tajné kódy načítají z tajných kódů Databricks podle oboru tajných kódů a klíče. Tyto get jsou přiřazené k názvům tajných proměnných prostředí, které lze použít uvnitř modelu.
Nejprve vytvořte obor tajného kódu. Viz Správa oborů tajných kódů.
Toto jsou příkazy rozhraní příkazového řádku:
databricks secrets create-scope my_secret_scope
Pak můžete přidat tajný kód do požadovaného oboru tajného kódu a klíče, jak je znázorněno níže:
databricks secrets put-secret my_secret_scope my_secret_key
Tajné informace a název proměnné prostředí lze pak předat konfiguraci koncového bodu během jeho vytváření nebo je přidat jako update ke konfiguraci existujícího koncového bodu.
Krok 2: Přidání oborů tajných kódů do konfigurace koncového bodu
Rozsah tajného kódu můžete přidat do proměnné prostředí a předat tuto proměnnou do koncového bodu během vytváření nebo aktualizací konfigurace koncového bodu. Viz Vytvoření vlastních modelů obsluhujících koncové body.
V uživatelském rozhraní obsluhy můžete přidat proměnnou prostředí v rozšířených konfiguracích. Proměnná prostředí založená na tajných kódech musí být poskytována pomocí následující syntaxe: {{secrets/scope/key}}
. Jinak se proměnná prostředí považuje za proměnnou prostředí ve formátu prostého textu.
Následuje příklad vytvoření koncového bodu obsluhy pomocí rozhraní REST API. Během modelu obsluhujícího vytváření a aktualizace konfigurace koncového bodu můžete poskytnout list specifikace proměnných tajného prostředí pro každý obsluhující model v požadavku rozhraní API pomocí pole environment_vars
.
Následující příklad přiřadí hodnotu z tajného kódu vytvořeného v zadaném kódu proměnné prostředí 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}}"
}
}]
}
}
Můžete také update obslužného koncového bodu, jak je znázorněno v následujícím příkladu PUT /api/2.0/serving-endpoints/{name}/config
rozhraní REST API:
{
"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}}"
}
}]
}
Po vytvoření nebo aktualizaci koncového bodu model, který obsluhuje, automaticky načte tajný klíč z oboru tajných kódů Databricks a naplní proměnnou prostředí pro použití kódu odvozování modelu.
Příklad poznámkového bloku
Příklad konfigurace klíče rozhraní API OpenAI pro řetězec kontroly načítání LangChain nasazený za modelem obsluhující koncové body s proměnnými prostředí založeném na tajných klíčích najdete v následujícím poznámkovém bloku.
Konfigurace přístupu k prostředkům z poznámkového bloku obsluhující koncové body modelu
poznámkového bloku