Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak psát požadavky na dotazy na základní modely optimalizované pro úlohy vkládání a obsluhované službou Unity AI Gateway.
Příklady v tomto článku platí pro dotazování základních modelů, které jsou k dispozici pomocí těchto možností:
- Rozhraní API základních modelů, která jsou označována jako základní modely hostované v Databricks.
- Externí modely , které se označují jako základní modely hostované mimo Databricks.
Požadavky
- Viz Požadavky.
- Nainstalujte příslušný balíček do clusteru na základě možnosti dotazování klienta , kterou zvolíte.
Příklady dotazů
Note
Následující příklady jsou založené na službě Unity AI Gateway a modelových službách. Pokud místo služeb modelu používáte koncové body obsluhující modely, nahraďte název služby modelu názvem koncového bodu. Seznam dostupných základních modelů a jejich modelových služeb a názvů koncových bodů najdete v tématu Základní modely hostované službou Databricks, které jsou k dispozici v rozhraních API pro základní modely.
Tip
Genie Code (režim agenta) to může udělat za vás. Vyzkoušejte tento příklad výzvy:
Show query examples that send embedding requests to the databricks-gte-large-en model using the DatabricksOpenAI helper, the plain OpenAI client, and a curl REST API call.
Následuje žádost o embedding pro model gte-large-en, kterou zpřístupňují rozhraní API pro základní modely s průběžnými platbami za token, s použitím různých klientských možností.
Klient OpenAI
Pokud chcete použít klienta OpenAI, zadejte jako vstup model obsluhující název koncového model bodu.
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
response = client.embeddings.create(
model="system.ai.gte-large-en",
input="what is databricks"
)
Pokud chcete dotazovat základní modely mimo pracovní prostor, musíte přímo použít klienta OpenAI, jak je znázorněno níže. Následující příklad předpokládá, že máte token rozhraní API Databricks a openai na vašem výpočetním prostředí nainstalovaný. K připojení klienta OpenAI k instanci pracovního prostoru Databricks potřebujete také instanci Databricks.
import os
import openai
from openai import OpenAI
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/ai-gateway/mlflow/v1"
)
response = client.embeddings.create(
model="system.ai.gte-large-en",
input="what is databricks"
)
SQL
Důležité
Následující příklad používá integrovanou funkci SQL ai_query. Tato funkce je ve verzi Public Preview a definice se může změnit.
SELECT ai_query(
"system.ai.gte-large-en",
"Can you explain AI in ten words?"
)
REST API
Důležité
Následující příklad používá parametry rozhraní REST API k dotazování obsluhujících koncové body, které obsluhují základní modely nebo externí modely. Tyto parametry jsou ve verzi Public Preview a definice se může změnit. Viz POST /serving-endpoints/{name}/invocations.
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.gte-large-en",
"input": "Embed this sentence!"
}' \
https://<workspace_host>.databricks.com/ai-gateway/mlflow/v1/embeddings
Sada SDK pro nasazení MLflow
Důležité
Následující příklad používá predict() API z MLflow Deployments SDK.
import mlflow.deployments
export DATABRICKS_HOST="https://<workspace_host>.databricks.com"
export DATABRICKS_TOKEN="dapi-your-databricks-token"
client = mlflow.deployments.get_deploy_client("databricks")
embeddings_response = client.predict(
endpoint="system.ai.gte-large-en",
inputs={
"input": "Here is some text to embed"
}
)
Databricks Python SDK
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ChatMessage, ChatMessageRole
w = WorkspaceClient()
response = w.serving_endpoints.query(
name="system.ai.gte-large-en",
input="Embed this sentence!"
)
print(response.data[0].embedding)
LangChain
Chcete-li v LangChain použít model Databricks Foundation Model APIs jako model pro embeddingy, naimportujte třídu DatabricksEmbeddings a zadejte parametr endpoint následovně:
%pip install databricks-langchain
from databricks_langchain import DatabricksEmbeddings
embeddings = DatabricksEmbeddings(endpoint="system.ai.gte-large-en")
embeddings.embed_query("Can you explain AI in ten words?")
Následuje očekávaný formát požadavku pro model vkládání. U externích modelů můžete zahrnout další parametry platné pro daného poskytovatele a konfiguraci koncového bodu. Viz Další parametry dotazu.
{
"input": [
"embedding text"
]
}
Následuje očekávaný formát odpovědi:
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": []
}
],
"model": "text-embedding-ada-002-v2",
"usage": {
"prompt_tokens": 2,
"total_tokens": 2
}
}
Podporované modely
Podporované modely vkládání najdete v tématu Základní typy modelů .
Zkontrolujte, jestli jsou vkládání normalizované.
Pomocí následujícího příkazu zkontrolujte, jestli jsou vložené vygenerované modelem normalizované.
import numpy as np
def is_normalized(vector: list[float], tol=1e-3) -> bool:
magnitude = np.linalg.norm(vector)
return abs(magnitude - 1) < tol