Databricks com o SDK em Python
Avi Steinberg
Senior Software Engineer
from databricks.sdk import WorkspaceClient from databricks.sdk.service.serving import ChatMessage, ChatMessageRole w = WorkspaceClient() response = w.serving_endpoints.query(name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( role=ChatMessageRole.SYSTEM, content="You are a helpful assistant." ), ChatMessage(role=ChatMessageRole.USER, content="<your-question>"), ],max_tokens=128) print(f"RESPONSE:\n{response.choices[0].message.content}")
Parâmetros da classe ChatMessage():
ChatMessage:
content: str
role: ChatMessageRole
Exemplo de ChatMessage:
ChatMessage(
role=ChatMessageRole.USER,
content="Can you summarize what happened in world war 1?"
)
Envie um ChatMessage com o papel SYSTEM:
ChatMessage(
role=ChatMessageRole.SYSTEM,
content="You are a helpful assistant."
)
Envie um ChatMessage com o papel USER:
ChatMessage(
role=ChatMessageRole.USER,
content="How do you use for loops in Python?"
)
w = WorkspaceClient() response = w.serving_endpoints.query( # Consultar o modelo Meta Llama 3 name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( # Mensagem com papel "SYSTEM" para influenciar como o agente responde às próximas consultas role=ChatMessageRole.SYSTEM, content=f"You are a helpful assistant. " ),ChatMessage( # Mensagem com papel "USER" para fazer uma pergunta ao modelo role=ChatMessageRole.USER, content="Can you explain what a fibonacci sequence is?" ), ], max_tokens=128, # Limita o número de palavras que o modelo pode usar na resposta )# Analisar a resposta do modelo e imprimir o conteúdo print(f"RESPONSE:\n{response.choices[0].message.content}")
Analisar a resposta do endpoint de serving:
from databricks.sdk import WorkspaceClient
response = w.serving_endpoints.query(
name="model-name",
messages=[...])
print(
f"RESPONSE:\n{response.choices[0].message.content}"
)
RESPONSE:
A sequência de Fibonacci é uma série de
números em que cada número é a soma
dos dois anteriores, começando em
0 e 1. Começa assim:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
55, 89, 144...
Para gerar o próximo número, basta
somar os dois anteriores. Por exemplo:
* 0 + 1 = 1
* 1 + 1 = 2
* 1 + 2 = 3
w = WorkspaceClient() # Consultar o modelo Meta Llama 3 response = w.serving_endpoints.query( name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( # Peça ao agente para resumir o texto armazenado na variável some_long_text role=ChatMessageRole.USER, content=f"Summarize the text stored in {some_long_text}" ), ],max_tokens=100, # Define o máximo de palavras na resposta como 100 )# Imprimir a resposta analisada do modelo de IA print(f"RESPONSE:\n{response.choices[0].message.content}")
w = WorkspaceClient() response = w.serving_endpoints.query( name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage(role=ChatMessageRole.SYSTEM, content=f"You are a ghost writer for famous country singers." ),ChatMessage(role=ChatMessageRole.USER, content="Write the lyrics to a country song that takes place in Mississippi")], max_tokens=100) print( f"RESPONSE:\n{response.choices[0].message.content}" )
RESPONSE:
"Sob o céu de magnólias, onde o
rio Mississippi passa,
estou aqui pensando em você, com o
blues do Delta na alma esta noite.
Os ciprestes balançam devagar,
e os grilos cantam nossa canção.
Mas sem você, amor, esta velha
noite do Mississippi não parece lar."
Databricks com o SDK em Python