Interroger un modèle de complétion de chat

Databricks avec le SDK Python

Avi Steinberg

Senior Software Engineer

Interroger un endpoint de service

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}")
1 https://databricks-sdk-py.readthedocs.io/en/stable/workspace/serving/serving_endpoints.html
Databricks avec le SDK Python

ChatMessage

Paramètres de la classe ChatMessage() :

ChatMessage:
  content: str
  role: ChatMessageRole

Exemple de message :

ChatMessage(
  role=ChatMessageRole.USER, 
  content="Can you summarize what happened in world war 1?"
)
Databricks avec le SDK Python

ChatMessageRole

Envoyer un ChatMessage avec le rôle SYSTEM :

ChatMessage(
  role=ChatMessageRole.SYSTEM,
  content="You are a helpful assistant."
)

Envoyer un ChatMessage avec le rôle USER :

ChatMessage(
  role=ChatMessageRole.USER, 
  content="How do you use for loops in Python?"
)
Databricks avec le SDK Python

Interroger un LLM de chat completion

w = WorkspaceClient()
response = w.serving_endpoints.query( # Interroger le modèle IA Meta Llama 3
  name="databricks-meta-llama-3-3-70b-instruct",

messages=[ ChatMessage( # Message avec le rôle "SYSTEM" pour influencer les réponses futures de l'agent role=ChatMessageRole.SYSTEM, content=f"You are a helpful assistant. " ),
ChatMessage( # Message avec le rôle "USER" pour poser une question au modèle IA role=ChatMessageRole.USER, content="Can you explain what a fibonacci sequence is?" ), ], max_tokens=128, # Limiter le nombre de mots que le modèle peut utiliser dans la réponse )
# Analyser la réponse du modèle IA et afficher le contenu print(f"RESPONSE:\n{response.choices[0].message.content}")
1 https://docs.databricks.com/aws/en/machine-learning/model-serving/score-foundation-models
Databricks avec le SDK Python

Structure de la réponse

Analyser la réponse de l'endpoint de service :

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 suite de Fibonacci est une série de
nombres où chaque terme est la somme
des deux précédents, en partant de 0 et 1.
Elle commence ainsi :
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
55, 89, 144...
Pour obtenir le terme suivant, on additionne
les deux précédents. Par exemple :
* 0 + 1 = 1
* 1 + 1 = 2
* 1 + 2 = 3
Databricks avec le SDK Python

Exemple : résumer un texte

w = WorkspaceClient()
# Interroger le modèle IA Meta Llama 3
response = w.serving_endpoints.query(
  name="databricks-meta-llama-3-3-70b-instruct",

messages=[ ChatMessage( # Demander à l'agent IA de résumer le texte stocké dans la variable some_long_text role=ChatMessageRole.USER, content=f"Summarize the text stored in {some_long_text}" ), ],
max_tokens=100, # Limiter la réponse à 100 mots )
# Afficher la réponse analysée du modèle IA print(f"RESPONSE:\n{response.choices[0].message.content}")
Databricks avec le SDK Python

Exemple : générer du contenu

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:
"Sous le ciel des magnolias,
où roule le fleuve Mississippi,
je suis assis à penser à vous,
avec le blues du Delta ce soir.
Les cyprès se balancent lentement,
et les grillons chantent notre chanson.
Mais sans vous, bébé, cette vieille
nuit du Mississippi ne ressemble pas à la maison."
Databricks avec le SDK Python

Passons à la pratique !

Databricks avec le SDK Python

Preparing Video For Download...