Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebből a cikkből megtudhatja, hogyan írhat lekérdezési kéréseket olyan alapmodellekhez, amelyek beágyazási feladatokhoz vannak optimalizálva, és amelyeket a Unity AI Gateway szolgál ki.
A cikkben szereplő példák az alapmodellek lekérdezésére vonatkoznak, amelyek a következők használatával érhetők el:
- Foundation Models API-k , amelyeket Databricks által üzemeltetett alapmodelleknek nevezünk.
- A Databricksen kívül üzemeltetett alapmodelleknek nevezett külső modellek.
Követelmények
- Lásd: Követelmények.
- Telepítse a megfelelő csomagot a fürtre a választott lekérdezési ügyfélbeállítás alapján.
Lekérdezési példák
Megjegyzés:
Az alábbi példák a Unity AI Gatewayen és a modellszolgáltatásokon alapulnak. Ha modellszolgáltatások helyett végpontokat kiszolgáló modellt használ, cserélje le a modellszolgáltatás nevét egy végpontnévre. A rendelkezésre álló alapmodellek, valamint azok modellszolgáltatásainak és végpontneveinek listáját a Foundation Model API-kban elérhető Databricks által üzemeltetett alapmodellek között találja.
Tip
Genie Code (ügynöki módban) meg tudja tenni ezt Ön helyett. Próbálja ki ezt a példaüzenetet:
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.
Az alábbiakban egy beágyazási kérést küldünk az gte-large-en Alapmodell API-k által jogkivonatonkénti fizetéssel elérhetővé tett modellhez a különböző ügyfélbeállítások használatával.
OpenAI-ügyfél
Az OpenAI ügyfél használatához adja meg a modell kiszolgáló végpontjának nevét bemenetként model.
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
response = client.embeddings.create(
model="system.ai.gte-large-en",
input="what is databricks"
)
A munkaterületen kívüli alapmodellek lekérdezéséhez közvetlenül az OpenAI-ügyfelet kell használnia az alábbiak szerint. Az alábbi példa feltételezi, hogy rendelkezik egy Databricks API-tokennel, és openai telepítve van a számítógépére. Az OpenAI-ügyfelet a Databrickshez való csatlakoztatásához a Databricks-munkaterületpéldányra is szüksége van.
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
Fontos
Az alábbi példa a beépített SQL-függvényt használja, ai_query. Ez a függvény nyilvános előzetes verzióban érhető el , és a definíció változhat.
SELECT ai_query(
"system.ai.gte-large-en",
"Can you explain AI in ten words?"
)
REST API
Fontos
Az alábbi példa REST API-paramétereket használ az alapmodelleket vagy külső modelleket kiszolgáló végpontok lekérdezéséhez. Ezek a paraméterek nyilvános előzetes verzióban érhetők el, és a definíció változhat. Lásd: 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
MLflow Deployments SDK
Fontos
Az alábbi példa az predict()MLflow Deployments SDK API-t használja.
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
Ha a Databricks Foundation Model APIs egyik modelljét beágyazási modellként szeretné használni a LangChainben, importálja a(z) DatabricksEmbeddings osztályt, és adja meg a endpoint paramétert az alábbiak szerint:
%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?")
A következő a beágyazási modell várt kérésformátuma. Külső modellek esetén további paramétereket is megadhat, amelyek érvényesek egy adott szolgáltatóra és végpontkonfigurációra. Lásd: További lekérdezési paraméterek.
{
"input": [
"embedding text"
]
}
A várt válaszformátum a következő:
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": []
}
],
"model": "text-embedding-ada-002-v2",
"usage": {
"prompt_tokens": 2,
"total_tokens": 2
}
}
Támogatott modellek
A támogatott beágyazási modellekhez tekintse meg az Alapmodell-típusokat .
Ellenőrizze, hogy a beágyazások normalizáltak-e
Az alábbiakban ellenőrizheti, hogy a modell által létrehozott beágyazások normalizálva vannak-e.
import numpy as np
def is_normalized(vector: list[float], tol=1e-3) -> bool:
magnitude = np.linalg.norm(vector)
return abs(magnitude - 1) < tol