REST API'lerini doğrudan ajan kodundan çağırın

REST API'lerini doğrudan agent kodundan çağırmak için Unity Kataloğu bağlantıları proxy uç noktasını dış hizmetin kendi istemci SDK'sı ile kullanın. SDK'nın temel URL'sini ara sunucu uç noktasına işaret edin ve API anahtarı olarak Azure Databricks belirtecinizi kullanın. Azure Databricks isteğin kimliğini doğrular ve Unity Kataloğu bağlantısından dış hizmetin kimlik bilgilerini otomatik olarak ekler. Kodunuz dış hizmetin belirteçlerini doğrudan işlemez.

Requirements

  • Dış hizmet için Unity Catalog HTTP bağlantısı . Proxy uç noktası, bu bağlantıyı servisin kimlik bilgilerini doğrulamak ve enjekte etmek için kullanır.
  • USE CONNECTION bağlantı nesnesi üzerinde.

OpenAI

OpenAI'ye harici çağrıları yönlendirmek için Unity Kataloğu bağlantılarının ara sunucusunu DatabricksOpenAI kullanarak kullanın. İlk olarak, Databricks "secret" olarak saklanan OpenAI API anahtarınızı kullanarak bir Unity Catalog HTTP bağlantısı oluşturun:

CREATE CONNECTION openai_connection TYPE HTTP
OPTIONS (
  host 'https://api.openai.com',
  base_path '/v1',
  bearer_token secret ('<secret-scope>', '<secret-key>')
);

Ardından paketi yükleyin databricks-openai ve aracı kodunuzda proxy URL'sini ve çalışma alanı istemcisini kullanın:

pip install databricks-openai
from databricks_openai import DatabricksOpenAI
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

client = DatabricksOpenAI(
    workspace_client=w,
    base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/openai_connection/proxy/",
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

Slack

Slack SDK'sını Unity Kataloğu bağlantıları ara sunucusu üzerinden yönlendirecek şekilde yapılandırın. Ana bilgisayar https://slack.com ve temel dizin /api ile bir Unity Catalog HTTP bağlantısı oluşturun ve ardından SDK temel URL'si olarak proxy URL'sini kullanın.

from slack_sdk import WebClient
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

client = WebClient(
    token=w.config.authenticate()["Authorization"].split(" ")[1],
    base_url=f"{w.config.host}/api/2.0/unity-catalog/connections/slack_connection/proxy/",
)

result = client.chat_postMessage(channel="C123456", text="Hello from Databricks!")
print(result["message"]["text"])

Genel HTTP

Ayrılmış SDK'sı olmayan hizmetler için requests kitaplığını doğrudan proxy URL'si ile kullanın.

import requests
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

response = requests.post(
    f"{w.config.host}/api/2.0/unity-catalog/connections/my_connection/proxy/api/v1/resource",
    headers={
        **w.config.authenticate(),
        "Content-Type": "application/json",
    },
    json={"key": "value"},
)

Ara sunucu uç noktası, desteklenen kimlik doğrulama yöntemleri ve bağlantı kurulumuyla ilgili ayrıntılar için bkz. İstekleri HTTP bağlantı ara sunucusu aracılığıyla iletme.