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 dotazovací požadavky pro základové modely optimalizované pro úlohy vytváření embeddingů, které jsou poskytovány prostřednictvím Unity 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ženy na Unity 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. Viz podrobný seznam modelů podporovaných APIs Databricks Foundation Model pro seznam dostupných modelových modelů a jejich názvy služeb a koncových zařízení.
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 os
import mlflow.deployments
os.environ["DATABRICKS_HOST"] = "https://<workspace_host>.databricks.com"
os.environ["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