Поделиться через


Запрос внешней модели с помощью ai_query()

Примечание.

Эта функция предоставляется в режиме общедоступной предварительной версии. Чтобы запрашивать конечные точки, обслуживающие внешние модели, необходимо зарегистрировать в общедоступной предварительной версии. Заполните и отправьте форму регистрации общедоступной предварительной версии функций ИИ.

В этой статье показано, как настроить и запросить внешнюю конечную точку модели с помощью встроенной функции ai_query()Databricks SQL. В этом примере используется поддержка внешних моделей в Службе модели ИИ Для мозаики для запроса gpt-4 , предоставленного OpenAI, и выполнения задач чата. Дополнительные сведения об этой функции ИИ см . в разделе "Функции ИИ" в Azure Databricks .

Необходимые компоненты

  • Ознакомьтесь с требованиями ai_query функции SQL.
  • Ключ API OpenAI
  • Сохраните ключ в секрете Databricks. В этом примере ключ API хранится в области my-external-model и секретеopenai.

Создание конечной точки внешней модели

В следующем примере создается внешняя конечная точка обслуживания модели, которая обслуживает OpenAI gpt-4 для задачи чата.

Сведения о создании личного маркера доступа см. в разделе "Проверка подлинности для автоматизации Databricks".

import requests
import json

personal_access_token = "your-personal-access-token"
headers = {
    "Authorization": "Bearer " + personal_access_token,
}
host = "https://oregon.cloud.databricks.com/"
url = host + "api/2.0/serving-endpoints"

data = {
    "name": "my-external-openai-chat",
    "config": {
        "served_entities": [
            {
                "name": "my_entity",
                "external_model": {
                    "name": "gpt-4",
                    "provider": "openai",
                    "openai_config": {
                        "openai_api_key": "{{secrets/my-external-model/openai}}",
                    },
                    "task": "llm/v1/chat",
                },
            }
        ],
    },
}

response = requests.post(url, headers=headers, json=data)

print("Status Code", response.status_code)
print("JSON Response ", json.dumps(json.loads(response.text), indent=4))

Запрос внешней модели с помощью ai_query()

В редакторе sql-запросов Databricks можно написать SQL-запросы для запроса внешней конечной точки обслуживания модели.

Примеры запросов:

SELECT ai_query(
    "my-external-openai-chat",
    "What is a large language model?"
  )

SELECT question, ai_query(
    "my-external-openai-chat",
    "You are a customer service agent. Answer the customer's question in 100 words: " || question
  ) AS answer
FROM
  uc_catalog.schema.customer_questions

SELECT
 sku_id,
 product_name,
 ai_query(
   "my-external-openai-chat",
   "You are a marketing expert for a winter holiday promotion targeting GenZ. Generate a promotional text in 30 words mentioning a 50% discount for product: " || product_name
 )
FROM
 uc_catalog.schema.retail_products
WHERE
 inventory > 2 * forecasted_sales

Дополнительные ресурсы