Надсилання запиту до моделі Chat Completion

Databricks із Python SDK

Avi Steinberg

Senior Software Engineer

Запит до serving endpoint

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 із Python SDK

ChatMessage

Параметри класу ChatMessage():

ChatMessage:
  content: str
  role: ChatMessageRole

Приклад чат-повідомлення:

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

ChatMessageRole

Надішліть 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?"
)
Databricks із Python SDK

Запит до моделі Large Language Model (LLM) для чат-комплішену

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}")
1 https://docs.databricks.com/aws/en/machine-learning/model-serving/score-foundation-models
Databricks із Python SDK

Структура відповіді на запит

Розбір відповіді 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
Databricks із Python SDK

Приклад: підсумувати текст

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}")
Databricks із Python SDK

Приклад: згенерувати контент

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

Давайте потренуємось!

Databricks із Python SDK

Preparing Video For Download...