Externí modely v obsluhě modelu AI v systému Mosaic AI
Důležité
Příklady kódu v tomto článku ukazují použití rozhraní CRUD API pro nasazení MLflow ve verzi Public Preview .
Tento článek popisuje externí modely v systému Mosaic AI Model Serving, včetně jeho podporovaných poskytovatelů modelů a jejich omezení.
Co jsou externí modely?
Důležité
Nyní můžete nakonfigurovat bránu Mosaic AI na koncových bodech modelu, které slouží externím modelům. AI Gateway přináší správu, monitorování a připravenost k produkčnímu nasazení pro tyto koncové body modelů. Viz úvod Mosaic AI Gateway.
Externí modely jsou modely třetích stran hostované mimo Databricks. Podporované službou Model Obsluha, externí modely umožňují zjednodušit používání a správu různých poskytovatelů velkých jazykových modelů (LLM), jako jsou OpenAI a Anthropic, v rámci organizace. K poskytování vlastních modelů, které nabízejí omezení rychlosti pro tyto koncové body, můžete také použít model Mosaic AI, který slouží jako poskytovatel. V rámci této podpory nabízí služba Model Serving rozhraní vysoké úrovně, které zjednodušuje interakci s těmito službami tím, že poskytuje jednotný koncový bod pro zpracování konkrétních požadavků souvisejících s LLM.
Kromě toho podpora Azure Databricks pro externí modely poskytuje centralizovanou správu přihlašovacích údajů. Uložením klíčů rozhraní API do jednoho zabezpečeného umístění můžou organizace zlepšit stav zabezpečení minimalizací vystavení citlivých klíčů rozhraní API v celém systému. Pomáhá také zabránit zveřejnění těchto klíčů v kódu nebo vyžadovat, aby koncoví uživatelé mohli bezpečně spravovat klíče.
Viz kurz: Vytvoření koncových bodů externího modelu pro dotazování modelů OpenAI pro podrobné pokyny k vytvoření koncového bodu externího modelu a dotazování podporovaných modelů obsluhovaných těmito koncovými body pomocí sady SDK pro nasazení MLflow. Pokyny k používání uživatelského rozhraní obsluhy a rozhraní REST API najdete v následujících příručkách:
Požadavky
- Klíč API nebo ověřovací pole pro poskytovatele modelu.
- Pracovní prostor Databricks v regionech podporujících externí modely.
poskytovatelé modelu
Externí modely ve službě Model Serving jsou navržené tak, aby podporovaly různé poskytovatele modelů. Poskytovatel představuje zdroj modelů strojového učení, jako jsou OpenAI, Anthropic atd. Každý poskytovatel má své specifické vlastnosti a konfigurace, které jsou zapouzdřeny v external_model
poli konfigurace koncového bodu externího modelu.
Podporují se následující poskytovatelé:
- openai: Pro modely, které nabízí OpenAI a integrace Azure pro Azure OpenAI a Azure OpenAI s AAD.
- anthropic: Pro modely, které nabízí Anthropic.
- cohere: Pro modely nabízené Společností Cohere.
- amazon-bedrock: Pro modely nabízené Amazon Bedrock.
- google-cloud-vertex-ai: Pro modely, které nabízí Google Cloud Vertex AI.
- databricks-model-serving: Pro koncové body služe AI modelů v Mosaic AI s kompatibilními schématy. Viz konfigurace koncového bodu.
- vlastní: Pro alternativní poskytovatele nebo modely za vlastními proxy servery, které jsou kompatibilní s rozhraním API OpenAI, ale nejsou přímo podporovány službou Databricks.
Pokud chcete požádat o podporu poskytovatele, který tu není uvedený, zkuste použít možnost vlastního poskytovatele nebo se obraťte na tým účtů Databricks.
Podporované modely
Model, který zvolíte, přímo ovlivňuje výsledky odpovědí, které získáte z volání rozhraní API. Proto zvolte model, který vyhovuje vašim požadavkům na případ použití. Například pro generování konverzačních odpovědí můžete zvolit model chatu. Naopak pro generování vkládání textu můžete zvolit model vkládání.
Podívejte se na podporované modely.
Používejte modely poskytované na koncových bodech služby Mosaic AI.
Mosaic AI Model Serving endpointy jsou jako poskytovatel podporovány pro typy endpointů llm/v1/completions
, llm/v1/chat
a llm/v1/embeddings
. Tyto koncové body musí přijmout standardní parametry dotazu označené jako povinné, zatímco ostatní parametry můžou být ignorovány v závislosti na tom, jestli je koncový bod obsluhy modelu Mosaic AI podporuje.
Informace o standardních parametrech dotazu najdete v tématu POST /serving-endpoints/{name}/invocations v referenčních informacích k rozhraní API.
Tyto koncové body musí vytvářet odpovědi v následujícím formátu OpenAI.
Úkoly k dokončení
{
"id": "123", # Not Required
"model": "test_databricks_model",
"choices": [
{
"text": "Hello World!",
"index": 0,
"logprobs": null, # Not Required
"finish_reason": "length" # Not Required
}
],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Pro úkoly chatu:
{
"id": "123", # Not Required
"model": "test_chat_model",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "\n\nHello there, how may I assist you today?",
},
"finish_reason": "stop"
},
{
"index": 1,
"message": {
"role": "human",
"content": "\n\nWhat is the weather in San Francisco?",
},
"finish_reason": "stop"
}],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Pro úlohy embedování:
{
"data": [
{
"embedding": [
1.0023064255,
-0.009327292,
.... # (1536 floats total for ada-002)
-0.0028842222,
],
"index": 0
},
{
"embedding": [
1.0023064255,
-0.009327292,
.... #(1536 floats total for ada-002)
-0.0028842222,
],
"index": 0
}
],
"model": "test_embedding_model",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Konfigurace koncového bodu
Pokud chcete obsluhovat a dotazovat externí modely, musíte nakonfigurovat koncový bod obsluhy. Viz Vytvoření externího modelu obsluhující koncový bod
U externího modelu, který obsluhuje koncový bod, musíte zahrnout pole external_model
a jeho parametry do served_entities
části konfigurace koncového bodu. Pokud v koncovém bodu obsluhy nakonfigurujete více externích modelů , musíte zadat traffic_config
procento směrování provozu pro každý externí model.
Pole external_model
definuje model, do kterého tento koncový bod předává požadavky. Při zadávání modelu je důležité, aby poskytovatel podporoval požadovaný model. Například openai
jako poskytovatel podporuje modely, jako je text-embedding-ada-002
, ale jiní poskytovatelé nemusí. Pokud zprostředkovatel model nepodporuje, vrátí Databricks chybu HTTP 4xx při pokusu o směrování požadavků na tento model.
Následující tabulka shrnuje parametry pole external_model
. Parametry konfigurace koncového bodu najdete v POST /api/2.0/serving-endpoints.
Parametr | Popisy |
---|---|
name |
Název modelu, který se má použít. Například gpt-3.5-turbo pro model OpenAI GPT-3.5-Turbo . Předává se jako součást textu požadavku s odpovídajícím klíčem: "model" . |
provider |
Určuje název zprostředkovatele pro tento model. Tato hodnota řetězce musí odpovídat podporovanému externímu modelu poskytovatele. Například openai pro modely OpenAI GPT-3.5 . |
task |
Úkol odpovídá typu interakce jazykového modelu, kterou si přejete. Podporované úlohy jsou llm/v1/completions, llm/v1/chat, llm/v1/embeddings. |
<provider>_config |
Obsahuje všechny další podrobnosti konfigurace potřebné pro model. To zahrnuje zadání základní adresy URL rozhraní API a klíče rozhraní API. Viz Konfigurace zprostředkovatele pro koncový bod. Pokud používáte poskytovatele custom , zadejte tento parametr jako custom_provider_config . |
Následuje příklad vytvoření koncového bodu externího modelu pomocí create_endpoint()
rozhraní API. V tomto příkladu se požadavek odeslaný do koncového bodu dokončení předá modelu claude-2
, který poskytuje anthropic
.
import mlflow.deployments
client = mlflow.deployments.get_deploy_client("databricks")
client.create_endpoint(
name="anthropic-completions-endpoint",
config={
"served_entities": [
{
"name": "test",
"external_model": {
"name": "claude-2",
"provider": "anthropic",
"task": "llm/v1/completions",
"anthropic_config": {
"anthropic_api_key": "{{secrets/my_anthropic_secret_scope/anthropic_api_key}}"
}
}
}
]
}
)
Konfigurace zprostředkovatele pro koncový bod
Při vytváření koncového bodu musíte zadat požadované konfigurace pro zadaného poskytovatele modelu. Následující části shrnují dostupné parametry konfigurace koncového bodu pro každého zprostředkovatele modelu.
Poznámka:
Databricks šifruje a bezpečně ukládá zadané přihlašovací údaje pro každého zprostředkovatele modelu. Tyto přihlašovací údaje se po odstranění přidružených koncových bodů automaticky odstraní.
OpenAI
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
openai_api_key |
Referenční údaj k tajnému klíči služby Azure Databricks pro klíč rozhraní API OpenAI využívající službu OpenAI. Pokud dáváte přednost přímému vložení klíče rozhraní API, podívejte se na openai_api_key_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: openai_api_key nebo openai_api_key_plaintext . |
|
openai_api_key_plaintext |
Klíč API OpenAI je poskytován službou OpenAI jako řetězec prostého textu. Pokud chcete odkazovat na klíč pomocí Azure Databricks Secrets, viz openai_api_key . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: openai_api_key nebo openai_api_key_plaintext musí být zadaný. |
|
openai_api_type |
Volitelné pole pro zadání typu rozhraní OpenAI API, které se má použít. | Ne | openai |
openai_api_base |
Základní adresa URL rozhraní OpenAI API. | Ne | https://api.openai.com/v1 |
openai_api_version |
Volitelné pole pro zadání verze rozhraní API OpenAI. | Ne | |
openai_organization |
Volitelné pole pro zadání organizace v OpenAI. | Ne |
Koherence
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
cohere_api_key |
Odkaz na tajný klíč Azure Databricks pro klíč rozhraní Cohere API. Pokud dáváte přednost přímému vložení klíče rozhraní API, viz cohere_api_key_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: cohere_api_key nebo cohere_api_key_plaintext . |
|
cohere_api_key_plaintext |
Klíč rozhraní API Cohere poskytnutý jako řetězec prostého textu. Pokud chcete odkazovat na klíč pomocí Azure Databricks Secrets, viz cohere_api_key . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: cohere_api_key nebo cohere_api_key_plaintext . |
|
cohere_api_base |
Základní adresa URL pro službu Cohere. | Ne |
Anthropic
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
anthropic_api_key |
Odkaz na tajný klíč Azure Databricks pro klíč API Anthropic. Pokud dáváte přednost přímému vložení klíče rozhraní API, viz anthropic_api_key_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: anthropic_api_key nebo anthropic_api_key_plaintext . |
|
anthropic_api_key_plaintext |
Klíč rozhraní API Anthropic zadaný jako řetězec prostého textu. Pokud chcete odkazovat na klíč pomocí Azure Databricks Secrets, viz anthropic_api_key . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: anthropic_api_key nebo anthropic_api_key_plaintext . |
Azure OpenAI
Azure OpenAI má v porovnání s přímou službou OpenAI jedinečné funkce. Přehled najdete v dokumentaci k porovnání.
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
openai_api_key |
Referenční informace ke tajným klíčům Azure Databricks pro klíč rozhraní API OpenAI pomocí služby Azure. Pokud dáváte přednost přímému vložení klíče rozhraní API, viz openai_api_key_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: openai_api_key nebo openai_api_key_plaintext . |
|
openai_api_key_plaintext |
Klíč API OpenAI je pomocí služby Azure poskytován jako řetězec obyčejného textu. Pokud chcete odkazovat na klíč pomocí Azure Databricks Secrets, viz openai_api_key . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: openai_api_key nebo openai_api_key_plaintext . |
|
openai_api_type |
Slouží azure k ověření přístupového tokenu. |
Ano | |
openai_api_base |
Základní adresa URL služby Azure OpenAI API, kterou poskytuje Azure. | Ano | |
openai_api_version |
Verze služby Azure OpenAI, která se má využít, určená datem. | Ano | |
openai_deployment_name |
Název prostředku nasazení pro službu Azure OpenAI. | Ano | |
openai_organization |
Volitelné pole pro zadání organizace v OpenAI. | Ne |
Pokud používáte Azure OpenAI s ID Microsoft Entra, použijte v konfiguraci koncového bodu následující parametry. Databricks předává https://cognitiveservices.azure.com/
jako výchozí rozsah tokenu ID Microsoft Entra.
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
microsoft_entra_tenant_id |
ID tenanta pro ověřování Microsoft Entra ID. | Ano | |
microsoft_entra_client_id |
ID klienta pro ověřování Microsoft Entra ID. | Ano | |
microsoft_entra_client_secret |
Referenční informace ke tajným klíčům Azure Databricks pro tajný klíč klienta, který se používá pro ověřování Microsoft Entra ID. Pokud dáváte přednost přímému vložení klientského klíče, podívejte se na microsoft_entra_client_secret_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: microsoft_entra_client_secret nebo microsoft_entra_client_secret_plaintext . |
|
microsoft_entra_client_secret_plaintext |
Tajný klíč klienta používaný pro ověřování Microsoft Entra ID zadaný jako řetězec prostého textu. Pokud chcete odkazovat na klíč pomocí tajemství Azure Databricks, viz microsoft_entra_client_secret . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: microsoft_entra_client_secret nebo microsoft_entra_client_secret_plaintext . |
|
openai_api_type |
Použijte azuread k autentizaci s použitím ID Microsoft Entra. |
Ano | |
openai_api_base |
Základní adresa URL služby Azure OpenAI API, kterou poskytuje Azure. | Ano | |
openai_api_version |
Verze služby Azure OpenAI, která se má využít, určená datem. | Ano | |
openai_deployment_name |
Název prostředku nasazení pro službu Azure OpenAI. | Ano | |
openai_organization |
Volitelné pole pro zadání organizace v OpenAI. | Ne |
Následující příklad ukazuje, jak vytvořit koncový bod pomocí Azure OpenAI:
client.create_endpoint(
name="openai-chat-endpoint",
config={
"served_entities": [{
"external_model": {
"name": "gpt-3.5-turbo",
"provider": "openai",
"task": "llm/v1/chat",
"openai_config": {
"openai_api_type": "azure",
"openai_api_key": "{{secrets/my_openai_secret_scope/openai_api_key}}",
"openai_api_base": "https://my-azure-openai-endpoint.openai.azure.com",
"openai_deployment_name": "my-gpt-35-turbo-deployment",
"openai_api_version": "2023-05-15"
}
}
}]
}
)
Google Cloud Vertex AI
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
private_key |
Odkaz na tajný klíč Azure Databricks pro privátní klíč účtu služby, který má přístup ke službě Google Cloud Vertex AI. Přečtěte si osvědčené postupy pro správu klíčů účtu služby. Pokud dáváte přednost přímému vložení API klíče, viz private_key_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: private_key nebo private_key_plaintext . |
|
private_key_plaintext |
Privátní klíč pro účet služby, který má přístup ke službě Google Cloud Vertex AI, poskytnutý jako tajný klíč ve formátu prostého textu. Přečtěte si osvědčené postupy pro správu klíčů účtu služby. Pokud chcete odkazovat na svůj klíč pomocí Secrets v Azure Databricks, viz private_key . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: private_key nebo private_key_plaintext . |
|
region |
Jedná se o oblast pro službu Google Cloud Vertex AI. Další podrobnosti najdete v podporovaných oblastech . Některé modely jsou dostupné jenom v konkrétních oblastech. | Ano | |
project_id |
Toto je ID projektu Google Cloud, ke kterému je účet služby přidružený. | Ano |
Amazon Bedrock
Pokud chcete jako externího poskytovatele modelů použít Amazon Bedrock, musí zákazníci zajistit, aby byl v zadané oblasti AWS povolený bedrock a zadaný pár klíčů AWS má příslušná oprávnění pro interakci se službami Bedrock. Další informace najdete v tématu AWS Identity and Access Management.
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
aws_region |
Oblast AWS, která se má použít. Bedrock tam musí být povolen. | Ano | |
aws_access_key_id |
Odkaz na tajný klíč Azure Databricks pro ID přístupového klíče AWS s oprávněními interagovat se službami Bedrock. Pokud dáváte přednost přímému vložení klíče rozhraní API, podívejte se na aws_access_key_id_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: aws_access_key_id nebo aws_access_key_id_plaintext . |
|
aws_access_key_id_plaintext |
ID přístupového klíče AWS s oprávněními pro interakci se službami Bedrock poskytované jako řetězec prostého textu. Pokud chcete odkazovat na klíč pomocí tajemství Azure Databricks, viz aws_access_key_id . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: aws_access_key_id nebo aws_access_key_id_plaintext . |
|
aws_secret_access_key |
Referenční odkaz na tajný klíč Azure Databricks pro tajný přístupový klíč AWS spárovaný s ID přístupového klíče, který má oprávnění k interakci se službami Bedrock. Pokud dáváte přednost přímému vložení klíče rozhraní API, viz aws_secret_access_key_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: aws_secret_access_key nebo aws_secret_access_key_plaintext . |
|
aws_secret_access_key_plaintext |
Tajný přístupový klíč AWS spárovaný s ID přístupového klíče s oprávněními pro interakci se službami Bedrock poskytnuté jako řetězec prostého textu. Pokud chcete odkazovat na klíč pomocí tajemství Azure Databricks, viz aws_secret_access_key . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: aws_secret_access_key nebo aws_secret_access_key_plaintext . |
|
bedrock_provider |
Poskytovatel základní služby v Amazon Bedrocku. Mezi podporované hodnoty (nerozlišující malá a velká písmena) patří: Anthropic, Cohere, AI21Labs, Amazon | Ano |
Následující příklad ukazuje, jak vytvořit koncový bod s Amazon Bedrock pomocí přístupových klíčů.
client.create_endpoint(
name="bedrock-anthropic-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "claude-v2",
"provider": "amazon-bedrock",
"task": "llm/v1/completions",
"amazon_bedrock_config": {
"aws_region": "<YOUR_AWS_REGION>",
"aws_access_key_id": "{{secrets/my_amazon_bedrock_secret_scope/aws_access_key_id}}",
"aws_secret_access_key": "{{secrets/my_amazon_bedrock_secret_scope/aws_secret_access_key}}",
"bedrock_provider": "anthropic",
},
}
}
]
},
)
Pokud dojde k problémům s oprávněními AWS, databricks doporučuje ověřit přihlašovací údaje přímo pomocí rozhraní AMAZON Bedrock API.
Testovací prostředí AI21
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
ai21labs_api_key |
Odkaz na tajný klíč Azure Databricks pro klíč rozhraní API AI21 Labs. Pokud dáváte přednost vložení klíče rozhraní API přímo, viz ai21labs_api_key_plaintext . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: ai21labs_api_key nebo ai21labs_api_key_plaintext . |
|
ai21labs_api_key_plaintext |
Klíč rozhraní API AI21 Labs poskytnutý jako řetězec prostého textu. Pokud chcete odkazovat na váš klíč pomocí služby Azure Databricks Secrets, podívejte se na ai21labs_api_key . |
Klíč rozhraní API musíte zadat pomocí jednoho z následujících polí: ai21labs_api_key nebo ai21labs_api_key_plaintext . |
Vlastní poskytovatel
Parametr konfigurace | Popis | Požaduje se | Výchozí |
---|---|---|---|
custom_provider_url |
Adresa URL, kde se nachází model vlastního poskytovatele. | Ano | |
bearer_token_auth |
Pokud vlastní zprostředkovatel využívá ověřování nosných tokenů, zadejte požadovaná pole. | Metodu ověřování je nutné zadat pomocí jednoho z následujících polí: bearer_token_auth nebo api_key_auth . |
|
token |
Referenční informace ke tajným klíčům Azure Databricks pro token pro ověřování nosných tokenů. Tento parametr musí být vnořený pod bearer_token_auth . Pokud dáváte přednost přímému vložení klíče API, podívejte se na token_plaintext . |
Pokud používáte nosné ověřování, musíte zadat klíč rozhraní API pomocí jednoho z následujících polí: token nebo token_plaintext . |
|
token_plaintext |
Token pro ověřování nositele poskytnutý jako nešifrovaný textový řetězec. Tento parametr musí být vnořený pod bearer_token_auth . Pokud chcete odkazovat na klíč pomocí tajných kódů Azure Databricks, přečtěte si token . |
Pokud používáte nosné ověřování, musíte zadat klíč rozhraní API pomocí jednoho z následujících polí: token nebo token_plaintext . |
|
api_key_auth |
Pokud vlastní poskytovatel využívá ověřování pomocí API klíče, zadejte potřebná pole. | Metodu ověřování je nutné zadat pomocí jednoho z následujících polí: bearer_token_auth nebo api_key_auth . |
|
key |
Klíč pro ověřování klíčů rozhraní API. Tento parametr musí být vnořený pod api_key_auth |
Ano, pokud používáte ověřování pomocí klíče rozhraní API. | |
value |
Referenční informace k tajnému klíči služby Azure Databricks pro hodnotu potřebnou pro ověřování pomocí klíče API. Pokud dáváte přednost přímému vložení klíče rozhraní API, viz value_plaintext . |
Pokud používáte ověřování pomocí klíče rozhraní API, musíte klíč rozhraní API zadat pomocí jednoho z následujících polí: value nebo value_plaintext . |
|
value_plaintext |
Hodnota pro ověřování pomocí klíče rozhraní API zadaná jako řetězec prostého textu. Pokud chcete odkazovat na klíč pomocí tajných kódů Azure Databricks, přečtěte si value . |
Pokud používáte ověřování pomocí klíče rozhraní API, musíte klíč rozhraní API zadat pomocí jednoho z následujících polí: value nebo value_plaintext . |
Následující příklad ukazuje, jak vytvořit koncový bod s vlastním poskytovatelem pomocí ověřování nosiče :
client.create_endpoint(
name="custom-provider-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "custom-provider-model",
"provider": "custom",
"task": "llm/v1/chat",
"custom_provider_config": {
"custom_provider_url": "https://my-custom-provider.com",
"bearer_token_auth": {
"token": "{{secrets/my_custom_provider_secret_scope/custom_provider_token}}"
}
}
}
}
]
},
)
Následující příklad ukazuje, jak vytvořit koncový bod s vlastním poskytovatelem pomocí ověřování prostřednictvím klíče API :
client.create_endpoint(
name="custom-provider-completions-endpoint",
config={
"served_entities": [
{
"external_model": {
"name": "custom-provider-model",
"provider": "custom",
"task": "llm/v1/chat",
"custom_provider_config": {
"custom_provider_url": "https://my-custom-provider.com",
"api_key_auth": {
"key": "X-API-KEY",
"value": "{{secrets/my_custom_provider_secret_scope/custom_provider_api_key}}"
}
}
}
}
]
},
)
Konfigurace služby AI Gateway na koncovém bodu
Také můžete nakonfigurovat svůj koncový bod, aby umožnil funkce Mosaic AI Gateway, jako jsou omezení rychlosti, sledování využití a mantinely.
Viz Konfigurujte AI bránu na koncových bodech pro obsluhu modelů.
Dotazování na koncový bod externího modelu
Po vytvoření koncového bodu externího modelu je připravený přijímat provoz od uživatelů.
Žádosti o bodování můžete do koncového bodu odesílat pomocí klienta OpenAI, rozhraní REST API nebo sady SDK pro nasazení MLflow.
- Podívejte se na standardní parametry dotazu pro bodovací požadavek v POST /serving-endpoints/{name}/invocations.
- Dotazování na základní modely
Následující příklad dotazuje model claude-2
dokončení hostovaný společností Anthropic za použití klienta OpenAI. Pokud chcete použít klienta OpenAI, vyplňte model
pole názvem koncového bodu obsluhujícího model, který je hostitelem modelu, který chcete dotazovat.
Tento příklad používá dříve vytvořený koncový bod nakonfigurovaný anthropic-completions-endpoint
pro přístup k externím modelům od poskytovatele modelu Anthropic. Podívejte se, jak vytvořit koncové body externího modelu.
Další modely, které můžete dotazovat a jejich poskytovatele, najdete v podporovaných modelů.
import os
import openai
from openai import OpenAI
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
completion = client.completions.create(
model="anthropic-completions-endpoint",
prompt="what is databricks",
temperature=1.0
)
print(completion)
Očekávaný formát výstupní odpovědi:
{
"id": "123", # Not Required
"model": "anthropic-completions-endpoint",
"choices": [
{
"text": "Hello World!",
"index": 0,
"logprobs": null, # Not Required
"finish_reason": "length" # Not Required
}
],
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Další parametry dotazu
V rámci dotazu můžete předat jakékoli další parametry podporované poskytovatelem koncového bodu.
Příklad:
-
logit_bias
(podporuje OpenAI, Cohere). -
top_k
(podporuje Anthropic, Cohere). -
frequency_penalty
(podporuje OpenAI, Cohere). -
presence_penalty
(podporuje OpenAI, Cohere). -
stream
(podporuje OpenAI, Anthropic, Cohere, Amazon Bedrock for Anthropic). Tato možnost je dostupná jenom pro žádosti o chat a dokončení.
-
tools
(podporuje OpenAI, Anthropic, Amazon Bedrock for Anthropic). Tato možnost je dostupná jenom pro žádosti o chat a dokončení. Tento parametr umožňuje integraci externích funkcí, včetně Computer Use (beta) pro Anthropic a Amazon Bedrock for Anthropic. Podívejte se na volání funkcí na službě Azure Databricks.
Podpora konfigurací síťového připojení pro externí modely
Podpora konfigurací síťového připojení (NCCS) pro externí modely, včetně služby Azure Private Link, je aktuálně ve verzi Private Preview. Spojte se s týmem vašeho účtu Databricks, abyste se mohli zapojit do zkušební verze.
Omezení
V závislosti na zvoleném externím modelu může vaše konfigurace způsobit zpracování dat mimo oblast, odkud vaše data pocházejí. Viz Omezení a oblasti služby Model Serving.