Pular para o conteúdo principal

Consulte um modelo de incorporação

Neste artigo, você aprenderá a escrever solicitações de consulta para modelos básicos otimizados para tarefas de incorporação e enviá-las ao seu modelo de serviço endpoint.

Os exemplos neste artigo se aplicam à consulta de modelos básicos disponibilizados usando:

Requisitos

Exemplos de consultas

A seguir, apresentamos uma solicitação de incorporação para o modelo gte-large-en disponibilizado pela Foundation Model APIs pay-per-tokens, utilizando as diferentes opções de cliente.

Para utilizar o cliente OpenAI, especifique o nome do modelo em execução endpoint como entrada model.

Python

from databricks.sdk import WorkspaceClient

w = WorkspaceClient()
openai_client = w.serving_endpoints.get_open_ai_client()

response = openai_client.embeddings.create(
model="databricks-gte-large-en",
input="what is databricks"
)

Para consultar modelos básicos fora do seu workspace, é necessário utilizar o cliente OpenAI diretamente, conforme demonstrado abaixo. O exemplo a seguir pressupõe que você possui os tokens Databricks e API e que o openai está instalado em compute. É necessário também que a instância Databricks workspace esteja conectada ao cliente OpenAI em Databricks.

Python

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"
)

response = client.embeddings.create(
model="databricks-gte-large-en",
input="what is databricks"
)

A seguir está o formato de solicitação esperado para um modelo de incorporação. Para modelos externos, é possível incluir parâmetros adicionais válidos para um determinado provedor e uma configuração d endpoint. Consulte Parâmetros de consulta adicionais.

Bash

{
"input": [
"embedding text"
]
}

Veja a seguir o formato de resposta esperado:

JSON
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": []
}
],
"model": "text-embedding-ada-002-v2",
"usage": {
"prompt_tokens": 2,
"total_tokens": 2
}
}

Modelos compatíveis

Consulte os tipos de modelo Foundation para ver os modelos de incorporação compatíveis.

Verifique se as incorporações estão normalizadas

Use o seguinte para verificar se as incorporações geradas pelo seu modelo estão normalizadas.

Python

import numpy as np

def is_normalized(vector: list[float], tol=1e-3) -> bool:
magnitude = np.linalg.norm(vector)
return abs(magnitude - 1) < tol

Recurso adicional