Databricks con el SDK de 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 de la clase ChatMessage():
ChatMessage:
content: str
role: ChatMessageRole
Ejemplo de ChatMessage:
ChatMessage(
role=ChatMessageRole.USER,
content="Can you summarize what happened in world war 1?"
)
Envía un ChatMessage con rol SYSTEM:
ChatMessage(
role=ChatMessageRole.SYSTEM,
content="You are a helpful assistant."
)
Envía un ChatMessage con rol USER:
ChatMessage(
role=ChatMessageRole.USER,
content="How do you use for loops in Python?"
)
w = WorkspaceClient() response = w.serving_endpoints.query( # Consulta el modelo Meta Llama 3 name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( # Mensaje con rol "SYSTEM" para influir en respuestas futuras role=ChatMessageRole.SYSTEM, content=f"You are a helpful assistant. " ),ChatMessage( # Mensaje con rol "USER" para hacer una pregunta role=ChatMessageRole.USER, content="Can you explain what a fibonacci sequence is?" ), ], max_tokens=128, # Limita las palabras que puede usar el modelo en la respuesta )# Parsea la respuesta del modelo e imprímela print(f"RESPONSE:\n{response.choices[0].message.content}")
Analiza la respuesta del endpoint de servicio:
from databricks.sdk import WorkspaceClient
response = w.serving_endpoints.query(
name="model-name",
messages=[...])
print(
f"RESPONSE:\n{response.choices[0].message.content}"
)
RESPONSE:
La secuencia de Fibonacci es una serie de
números donde cada número es la suma de
los dos anteriores, empezando por 0 y 1.
La secuencia comienza así:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
55, 89, 144...
Para obtener el siguiente número,
suma los dos anteriores. Por ejemplo:
* 0 + 1 = 1
* 1 + 1 = 2
* 1 + 2 = 3
w = WorkspaceClient() # Consulta el modelo Meta Llama 3 response = w.serving_endpoints.query( name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( # Pide al agente que resuma el texto guardado en la variable some_long_text role=ChatMessageRole.USER, content=f"Summarize the text stored in {some_long_text}" ), ],max_tokens=100, # Limita la respuesta a 100 palabras )# Imprime la respuesta parseada del modelo 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:
"Bajo el cielo de magnolias, donde el
río Misisipi pasa
Estoy sentado, pensando en ti, con el
blues del Delta en el alma esta noche
Los cipreses se mecen lentos,
y los grillos cantan nuestra canción
Pero sin ti, nena, esta vieja noche de
Misisipi no se siente como hogar"
Databricks con el SDK de Python