Truy vấn mô hình Chat Completion

Databricks với Python SDK

Avi Steinberg

Senior Software Engineer

Truy vấn 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 với Python SDK

ChatMessage

Tham số cho lớp ChatMessage():

ChatMessage:
  content: str
  role: ChatMessageRole

Ví dụ Chat Message:

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

ChatMessageRole

Gửi ChatMessage với vai trò SYSTEM:

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

Gửi ChatMessage với vai trò USER:

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

Truy vấn LLM chat completion

w = WorkspaceClient()
response = w.serving_endpoints.query( # Truy vấn mô hình Meta Llama 3
  name="databricks-meta-llama-3-3-70b-instruct",

messages=[ ChatMessage( # Thông điệp "SYSTEM" để định hướng cách tác nhân phản hồi các truy vấn sau role=ChatMessageRole.SYSTEM, content=f"You are a helpful assistant. " ),
ChatMessage( # Thông điệp "USER" để hỏi mô hình AI role=ChatMessageRole.USER, content="Can you explain what a fibonacci sequence is?" ), ], max_tokens=128, # Giới hạn số từ trong phản hồi của mô hình )
# Phân tích phản hồi của mô hình và in nội dung print(f"RESPONSE:\n{response.choices[0].message.content}")
1 https://docs.databricks.com/aws/en/machine-learning/model-serving/score-foundation-models
Databricks với Python SDK

Cấu trúc phản hồi truy vấn

Phân tích phản hồi từ 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:
Dãy Fibonacci là một dãy số trong đó
mỗi số bằng tổng của hai số trước đó,
bắt đầu từ 0 và 1. Dãy bắt đầu như sau:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34,
55, 89, 144...
Để tạo số tiếp theo, chỉ cần cộng
hai số liền trước. Ví dụ:
* 0 + 1 = 1
* 1 + 1 = 2
* 1 + 2 = 3
Databricks với Python SDK

Ví dụ: tóm tắt văn bản

w = WorkspaceClient()
# Truy vấn mô hình Meta Llama 3
response = w.serving_endpoints.query(
  name="databricks-meta-llama-3-3-70b-instruct",

messages=[ ChatMessage( # Yêu cầu tác nhân AI tóm tắt văn bản lưu trong biến some_long_text role=ChatMessageRole.USER, content=f"Summarize the text stored in {some_long_text}" ), ],
max_tokens=100, # Giới hạn phản hồi tối đa 100 từ )
# In phản hồi đã phân tích từ mô hình AI print(f"RESPONSE:\n{response.choices[0].message.content}")
Databricks với Python SDK

Ví dụ: tạo nội dung

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:
"Dưới bầu trời mộc lan, nơi
sông Mississippi lặng trôi
Anh ngồi đây, nghĩ về em, với
điệu blues Delta trong hồn đêm nay
Hàng bách tán đung đưa chậm rãi,
ve sầu hát khúc chúng ta
Không có em, em ơi,
đêm Mississippi này chẳng còn là nhà"
Databricks với Python SDK

Ayo berlatih!

Databricks với Python SDK

Preparing Video For Download...