Databricks із 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}")
Параметри класу ChatMessage():
ChatMessage:
content: str
role: ChatMessageRole
Приклад чат-повідомлення:
ChatMessage(
role=ChatMessageRole.USER,
content="Can you summarize what happened in world war 1?"
)
Надішліть ChatMessage з роллю SYSTEM:
ChatMessage(
role=ChatMessageRole.SYSTEM,
content="You are a helpful assistant."
)
Надішліть ChatMessage з роллю USER:
ChatMessage(
role=ChatMessageRole.USER,
content="How do you use for loops in Python?"
)
w = WorkspaceClient() response = w.serving_endpoints.query( # Запит до моделі Meta Llama 3 name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( # Повідомлення з роллю "SYSTEM" для впливу на відповіді агента в майбутніх запитах role=ChatMessageRole.SYSTEM, content=f"You are a helpful assistant. " ),ChatMessage( # Повідомлення з роллю "USER" для запитання до моделі ШІ role=ChatMessageRole.USER, content="Can you explain what a fibonacci sequence is?" ), ], max_tokens=128, # Обмеження кількості слів у відповіді моделі ШІ )# Розберіть відповідь моделі ШІ та виведіть вміст print(f"RESPONSE:\n{response.choices[0].message.content}")
Розбір відповіді Serving Endpoint:
from databricks.sdk import WorkspaceClient
response = w.serving_endpoints.query(
name="model-name",
messages=[...])
print(
f"RESPONSE:\n{response.choices[0].message.content}"
)
RESPONSE:
The Fibonacci sequence is a series of
numbers in which each number is the sum
of the two preceding numbers, starting
from 0 and 1. The sequence begins like
this:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
55, 89, 144...
To generate the next number in the
sequence, you simply add the previous
two numbers. For example:
* 0 + 1 = 1
* 1 + 1 = 2
* 1 + 2 = 3
w = WorkspaceClient() # Запит до моделі Meta Llama 3 response = w.serving_endpoints.query( name="databricks-meta-llama-3-3-70b-instruct",messages=[ ChatMessage( # Попросіть агента ШІ підсумувати текст, збережений у змінній some_long_text role=ChatMessageRole.USER, content=f"Summarize the text stored in {some_long_text}" ), ],max_tokens=100, # Установіть максимум слів у відповіді 100 )# Виведіть розібрану відповідь моделі ШІ 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:
"Underneath the magnolia sky, where the
Mississippi River rolls by
I'm sittin' here, thinkin' 'bout you, with the
Delta blues in my soul tonight
The cypress trees are swayin' slow,
and the crickets are singin' our song
But without you, baby, this ol'
Mississippi night just don't feel like home"
Databricks із Python SDK