Introdução à consulta de LLMs no Databricks
Esse artigo descreve como começar a usar APIs do Foundation Model para servir e consultar LLMs em Databricks.
A maneira mais fácil de começar a servir e consultar modelos LLM no Databricks é usando APIs do Foundation Model com base em pagamento por token. As APIs fornecem acesso a modelos básicos populares a partir de pontos de extremidade de pagamento por token que estão automaticamente disponíveis na IU de serviço do seu espaço de trabalho Databricks. Veja Modelos suportados para pagamento por token.
Você também pode testar e conversar com modelos de pagamento por token usando o Playground de IA. Confira Chat com LLMs e protótipos de aplicativos GenAI usando o AI Playground.
Para cargas de trabalho de produção, particularmente aquelas com um modelo ajustado ou que exigem garantias de desempenho, o Databricks recomenda usar as APIs do Foundation Model em um ponto de extremidade de taxa de transferência provisionado.
Requisitos
- Um Espaço de trabalho do Databricks em uma região com suporte para as APIs do Foundation Model, pagamento por token.
- Um token de acesso pessoal do Databricks para consultar e acessar pontos de extremidade do Serviço de modelo de IA do Mosaic usando o cliente OpenAI.
Importante
Como prática recomendada de segurança para cenários de produção, a Databricks recomenda que você use tokens OAuth máquina a máquina para autenticação durante a produção.
Para testes e desenvolvimento, a Databricks recomenda a utilização de um token de acesso pessoal pertencente a principais de serviço em vez de utilizadores do espaço de trabalho. Para criar tokens para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.
Comece a usar APIs do Foundation Model
O exemplo a seguir deve ser executado em um notebook do Databricks. O exemplo de código consulta o modelo instrução Meta Llama 3.1 405B que é servido no ponto de extremidade databricks-meta-llama-3-1-405b-instruct
de pagamento por token.
Nesse exemplo, você usa o cliente OpenAI para consultar o modelo preenchendo o campo model
com o nome do ponto de extremidade de serviço do modelo que hospeda o modelo que você deseja consultar. Use seu token de acesso pessoal para preencher o DATABRICKS_TOKEN
e sua instância do espaço de trabalho do Databricks para conectar o cliente OpenAI ao Databricks.
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get("DATABRICKS_TOKEN")
client = OpenAI(
api_key=DATABRICKS_TOKEN, # your personal access token
base_url='https://<workspace_id>.databricks.com/serving-endpoints', # your Databricks workspace instance
)
chat_completion = client.chat.completions.create(
messages=[
{
"role": "system",
"content": "You are an AI assistant",
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
model="databricks-meta-llama-3-1-405b-instruct",
max_tokens=256
)
print(chat_completion.choices[0].message.content)
Observação
Se você encontrar a mensagem ImportError: cannot import name 'OpenAI' from 'openai'
, a seguir, atualize sua versão do openai
usando !pip install -U openai
. Após instalar o pacote, execute dbutils.library.restartPython()
.
Saída esperada:
{
"id": "xxxxxxxxxxxxx",
"object": "chat.completion",
"created": "xxxxxxxxx",
"model": "databricks-meta-llama-3-1-405b-instruct",
"choices": [
{
"index": 0,
"message":
{
"role": "assistant",
"content": "A Mixture of Experts (MoE) model is a machine learning technique that combines the predictions of multiple expert models to improve overall performance. Each expert model specializes in a specific subset of the data, and the MoE model uses a gating network to determine which expert to use for a given input."
},
"finish_reason": "stop"
}
],
"usage":
{
"prompt_tokens": 123,
"completion_tokens": 23,
"total_tokens": 146
}
}
Próximas etapas
- Use o AI Playground para experimentar diferentes modelos em uma interface de chat familiar.
- Consulte modelos de IA generativos.
- Acesse modelos hospedados fora do Databricks usando modelos externos.
- Aprenda como implantar modelos ajustados usando pontos de extremidade de taxa de transferência provisionados.
- Explore métodos para monitorar a qualidade do modelo e a integridade do ponto de extremidade.