Sdílet prostřednictvím


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:

Vytvoření koncového bodu obsluhy modelu

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.

Vytvoření koncového bodu obsluhy modelu

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