Consulta de puntos de conexión de Unity AI Gateway

Important

Esta característica se encuentra en su versión beta. Los administradores de cuentas pueden controlar el acceso a esta característica desde la página Vista previa de la consola de la cuenta. Consulte Administrar Azure Databricks versiones preliminares.

En esta página se describe cómo consultar los puntos de conexión de Unity AI Gateway mediante las API admitidas.

Requisitos

APIs e integraciones admitidas

Unity AI Gateway admite las siguientes API e integraciones:

  • Unified API: interfaces compatibles con OpenAI para consultar modelos en Azure Databricks. Cambie perfectamente entre modelos de diferentes proveedores sin cambiar la forma de consultar cada modelo.
  • API nativas: interfaces específicas del proveedor para acceder al modelo y las características específicas del proveedor más recientes.
  • Agentes de codificación: integre los agentes de codificación con Unity AI Gateway para agregar gobernanza y supervisión centralizadas a los flujos de trabajo de desarrollo asistidos por IA. Consulte Integración con agentes de codificación.

Consulta de puntos de conexión con API unificadas

Las API unificadas ofrecen una interfaz compatible con OpenAI para consultar modelos en Azure Databricks. Use API unificadas para cambiar sin problemas entre modelos de diferentes proveedores sin cambiar el código.

API de finalizaciones de chat de MLflow

API de finalizaciones de chat de MLflow

Python

from openai import OpenAI
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<ai-gateway-url>/mlflow/v1"
)

chat_completion = client.chat.completions.create(
  messages=[
    {"role": "user", "content": "Hello!"},
    {"role": "assistant", "content": "Hello! How can I assist you today?"},
    {"role": "user", "content": "What is Databricks?"},
  ],
  model="<ai-gateway-endpoint>",
  max_tokens=256
)

print(chat_completion.choices[0].message.content)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<ai-gateway-endpoint>",
    "max_tokens": 256,
    "messages": [
      {"role": "user", "content": "Hello!"},
      {"role": "assistant", "content": "Hello! How can I assist you today?"},
      {"role": "user", "content": "What is Databricks?"}
    ]
  }' \
  https://<ai-gateway-url>/mlflow/v1/chat/completions

Reemplace por <ai-gateway-url> la dirección URL de Unity AI Gateway y <ai-gateway-endpoint> por el nombre del punto de conexión de Unity AI Gateway.

API de inserción de MLflow

API de inserción de MLflow

Python

from openai import OpenAI
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<ai-gateway-url>/mlflow/v1"
)

embeddings = client.embeddings.create(
  input="What is Databricks?",
  model="<ai-gateway-endpoint>"
)

print(embeddings.data[0].embedding)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<ai-gateway-endpoint>",
    "input": "What is Databricks?"
  }' \
  https://<ai-gateway-url>/mlflow/v1/embeddings

Reemplace por <ai-gateway-url> la dirección URL de Unity AI Gateway y <ai-gateway-endpoint> por el nombre del punto de conexión de Unity AI Gateway.

Supervisor API

Supervisor API

La API supervisor (/mlflow/v1/responses) es una API independiente del proveedor y compatible con OpenResponses para compilar agentes en Beta. Los administradores de cuentas pueden habilitar el acceso desde la página Vistas previas . Consulte Administrar Azure Databricks versiones preliminares. Elija el mejor modelo para el caso de uso del agente entre proveedores, sin cambiar el código.

Python

from openai import OpenAI
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<ai-gateway-url>/mlflow/v1"
)

response = client.responses.create(
  model="<ai-gateway-endpoint>",
  input=[{"role": "user", "content": "What is Databricks?"}]
)

print(response.output_text)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<ai-gateway-endpoint>",
    "input": [
      {"role": "user", "content": "What is Databricks?"}
    ]
  }' \
  https://<ai-gateway-url>/mlflow/v1/responses

Reemplace por <ai-gateway-url> la dirección URL de la puerta de enlace de AI y <ai-gateway-endpoint> por el nombre del punto de conexión de AI Gateway.

Consulta de puntos de conexión con API nativas

Las API nativas ofrecen interfaces específicas del proveedor para consultar modelos en Azure Databricks. Use las API nativas para acceder a las características específicas del proveedor más recientes.

API de respuestas de OpenAI

API de respuestas de OpenAI

Python

from openai import OpenAI
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<ai-gateway-url>/openai/v1"
)

response = client.responses.create(
  model="<ai-gateway-endpoint>",
  max_output_tokens=256,
  input=[
    {
      "role": "user",
      "content": [{"type": "input_text", "text": "Hello!"}]
    },
    {
      "role": "assistant",
      "content": [{"type": "output_text", "text": "Hello! How can I assist you today?"}]
    },
    {
      "role": "user",
      "content": [{"type": "input_text", "text": "What is Databricks?"}]
    }
  ]
)

print(response.output)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<ai-gateway-endpoint>",
    "max_output_tokens": 256,
    "input": [
      {
        "role": "user",
        "content": [{"type": "input_text", "text": "Hello!"}]
      },
      {
        "role": "assistant",
        "content": [{"type": "output_text", "text": "Hello! How can I assist you today?"}]
      },
      {
        "role": "user",
        "content": [{"type": "input_text", "text": "What is Databricks?"}]
      }
    ]
  }' \
  https://<ai-gateway-url>/openai/v1/responses

Reemplace por <ai-gateway-url> la dirección URL de Unity AI Gateway y <ai-gateway-endpoint> por el nombre del punto de conexión de Unity AI Gateway.

Anthropic Messages API

API de mensajes antropológicos

Python

import anthropic
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = anthropic.Anthropic(
  api_key="unused",
  base_url="https://<ai-gateway-url>/anthropic",
  default_headers={
    "Authorization": f"Bearer {DATABRICKS_TOKEN}",
  },
)

message = client.messages.create(
  model="<ai-gateway-endpoint>",
  max_tokens=256,
  messages=[
    {"role": "user", "content": "Hello!"},
    {"role": "assistant", "content": "Hello! How can I assist you today?"},
    {"role": "user", "content": "What is Databricks?"},
  ],
)

print(message.content[0].text)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "<ai-gateway-endpoint>",
    "max_tokens": 256,
    "messages": [
      {"role": "user", "content": "Hello!"},
      {"role": "assistant", "content": "Hello! How can I assist you today?"},
      {"role": "user", "content": "What is Databricks?"}
    ]
  }' \
  https://<ai-gateway-url>/anthropic/v1/messages

Reemplace por <ai-gateway-url> la dirección URL de Unity AI Gateway y <ai-gateway-endpoint> por el nombre del punto de conexión de Unity AI Gateway.

Google Gemini API

Google Gemini API

Python

from google import genai
from google.genai import types
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = genai.Client(
  api_key="databricks",
  http_options=types.HttpOptions(
    base_url="https://<ai-gateway-url>/gemini",
    headers={
      "Authorization": f"Bearer {DATABRICKS_TOKEN}",
    },
  ),
)

response = client.models.generate_content(
  model="<ai-gateway-endpoint>",
  contents=[
    types.Content(
      role="user",
      parts=[types.Part(text="Hello!")],
    ),
    types.Content(
      role="model",
      parts=[types.Part(text="Hello! How can I assist you today?")],
    ),
    types.Content(
      role="user",
      parts=[types.Part(text="What is Databricks?")],
    ),
  ],
  config=types.GenerateContentConfig(
    max_output_tokens=256,
  ),
)

print(response.text)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "Hello!"}]
      },
      {
        "role": "model",
        "parts": [{"text": "Hello! How can I assist you today?"}]
      },
      {
        "role": "user",
        "parts": [{"text": "What is Databricks?"}]
      }
    ],
    "generationConfig": {
      "maxOutputTokens": 256
    }
  }' \
  https://<ai-gateway-url>/gemini/v1beta/models/<ai-gateway-endpoint>:generateContent

Reemplace por <ai-gateway-url> la dirección URL de Unity AI Gateway y <ai-gateway-endpoint> por el nombre del punto de conexión de Unity AI Gateway.

Pasos siguientes

  • Supervisor API (Beta) — ejecute flujos de trabajo de agente multiturno con herramientas alojadas a través de /mlflow/v1/responses