Databricks con il Python SDK
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}")
Parametri per la classe ChatMessage():
ChatMessage:
content: str
role: ChatMessageRole
Esempio di ChatMessage:
ChatMessage(
role=ChatMessageRole.USER,
content="Puoi riassumere cosa è successo nella prima guerra mondiale?"
)
Invia un ChatMessage con ruolo SYSTEM:
ChatMessage(
role=ChatMessageRole.SYSTEM,
content="You are a helpful assistant."
)
Invia un ChatMessage con ruolo USER:
ChatMessage(
role=ChatMessageRole.USER,
content="Come si usano i for loop in Python?"
)
w = WorkspaceClient() response = w.serving_endpoints.query( # Interroga il modello Meta Llama 3 name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( # Messaggio con ruolo "SYSTEM" per influenzare le risposte future role=ChatMessageRole.SYSTEM, content=f"You are a helpful assistant. " ),ChatMessage( # Messaggio con ruolo "USER" per fare una domanda al modello role=ChatMessageRole.USER, content="Can you explain what a fibonacci sequence is?" ), ], max_tokens=128, # Limita a 128 il numero di parole nella risposta del modello )# Fai il parse della risposta del modello e stampa il contenuto print(f"RESPONSE:\n{response.choices[0].message.content}")
Analizza la risposta dell'endpoint di Serving:
from databricks.sdk import WorkspaceClient
response = w.serving_endpoints.query(
name="model-name",
messages=[...])
print(
"RESPONSE:\n{response.choices[0].message.content}"
)
RESPONSE:
La sequenza di Fibonacci è una serie di
numeri in cui ciascun numero è la somma
dei due precedenti, a partire da 0 e 1.
La sequenza inizia così:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
55, 89, 144...
Per ottenere il numero successivo,
somma semplicemente i due precedenti.
Ad esempio:
* 0 + 1 = 1
* 1 + 1 = 2
* 1 + 2 = 3
w = WorkspaceClient() # Interroga il modello Meta Llama 3 response = w.serving_endpoints.query( name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( # Chiedi all'agente di riassumere il testo nella variabile some_long_text role=ChatMessageRole.USER, content=f"Summarize the text stored in {some_long_text}" ), ],max_tokens=100, # Imposta a 100 il numero massimo di parole nella risposta )# Stampa la risposta parsata dal modello AI 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"Sei un ghostwriter per famosi cantanti country." ),ChatMessage(role=ChatMessageRole.USER, content="Scrivi il testo di una canzone country ambientata in Mississippi")], max_tokens=100) print( "RESPONSE:\n{response.choices[0].message.content}" )
RESPONSE:
"Sotto il cielo di magnolia, dove il
fiume Mississippi scorre via
Sto seduto qui, penso a te, con il
Delta blues nell'anima stanotte
I cipressi ondeggiano piano,
e i grilli cantano la nostra canzone
Ma senza di te, baby, questa vecchia
notte del Mississippi non sa di casa"
Databricks con il Python SDK