Thiết kế quy trình AI nhiều bước

Giới thiệu về Generative AI trong Snowflake

James Cha-Earley

Senior Developer Advocate, Snowflake

Quy trình đánh giá trên Cortex

Mục tiêu: Xây hệ thống tự động cho phản hồi khách quốc tế

$$

  • Dịch mỗi đánh giá sang tiếng Anh
  • Tóm tắt ý chính
  • Phân loại để chuyển đúng bộ phận
  • Tạo phản hồi
  • Dịch lại về ngôn ngữ gốc

Quy trình: nhận đánh giá, dịch, tóm tắt và phân loại, rồi gửi phản hồi

Giới thiệu về Generative AI trong Snowflake

Trích xuất đánh giá

-- SQL cell
SELECT DESCRIPTION
FROM HOTELS.REVIEWS
WHERE LANGUAGE = 'es'
LIMIT 1;
# Python cell
df = cell1.to_pandas()
review_text = df["DECRIPTION"].iloc[0]
Giới thiệu về Generative AI trong Snowflake

Đánh giá tiếng Tây Ban Nha

print(review_text)
Buen hotel y bien situado pero desafortunadamente no me toco buena suerte con 
el servicio; el aire no servía; pedí la cama extra tres veces; la cafetera estaba
dañada; y me sacaron las maletas fuera porque argumentaron que no hice Check out;
siendo que era un día despues; pero su sistema lo marco antes; una total
descortesía hecharme del cuarto y cancelar mis llaves; regresar de caminar y darse
cuenta que han tomado tus cosas fuera es increíble y mas aun sin ninguna disculpa;
yo no volvería ahí aunque la vrd el hotel es bueno y su jubilación el trato
me decepciono
Giới thiệu về Generative AI trong Snowflake

Dịch thuật

translated = translate(
    text=review_text,
    from_language="es",
    to_language="en"
)

print(translated)
Khách sạn tốt và vị trí đẹp, nhưng không may tôi gặp vấn đề với dịch vụ; điều hòa
không hoạt động; tôi đã yêu cầu giường phụ ba lần; máy pha cà phê bị hỏng; và họ đưa
hành lý của tôi ra ngoài vì cho rằng tôi chưa trả phòng; dù lịch là ngày hôm sau;
nhưng hệ thống của họ đánh dấu đã trả phòng; hoàn toàn thiếu lịch sự khi đuổi tôi
ra khỏi phòng và hủy khóa; trở về sau khi đi dạo và thấy đồ đạc bị đưa ra ngoài thật
khó tin, nhất là không có lời xin lỗi; tôi sẽ không quay lại dù bản thân khách sạn tốt
và cách xử lý khiến tôi thất vọng.
Giới thiệu về Generative AI trong Snowflake

Tóm tắt

summary = summarize(text=translated)

print(summary)
Khách sạn ở vị trí thuận tiện nhưng dịch vụ gây thất vọng. Điều hòa không hoạt động,
không cung cấp giường phụ dù đã yêu cầu nhiều lần, và máy pha cà phê bị hỏng. Nhân viên
đã lấy hành lý và hủy khóa của khách dù ngày trả phòng muộn hơn, điều này thiếu lịch sự
và khiến khách thất vọng.
Giới thiệu về Generative AI trong Snowflake

Phân loại

topic = classify_text(
    text=summary,
    labels=["staff", "cleanliness", "pricing", "room", "food"]
)

print(topic)
{
  "label": "staff"
}
Giới thiệu về Generative AI trong Snowflake

Tạo văn bản

response = complete(
        prompt=f"Write a brief and professional response to this review: {summary}",
        model='llama3.1-8b',
        options={'temperature':0.3, 'max_tokens':120})

print(response)
Cảm ơn quý khách đã chia sẻ phản hồi. Chúng tôi rất vui vì vị trí thuận tiện,
nhưng thành thật xin lỗi về các vấn đề dịch vụ quý khách gặp phải. Chúng tôi hiểu
sự bất tiện khi phải chịu nhiều rắc rối trong kỳ lưu trú. Chúng tôi đã chuyển góp ý
đến đội ngũ để khắc phục và tránh tái diễn.
Giới thiệu về Generative AI trong Snowflake

Dịch phản hồi

translated_response = translate(
    text=response,
    from_language="en",
    to_language="es"
)

print(translated_response)
Gracias por compartir sus comentarios. Si bien nos alegra saber que encontró conveniente
la ubicación, lamentamos sinceramente los inconvenientes que experimentó con el servicio.
Entendemos lo frustrante que debió haber sido enfrentar múltiples inconvenientes durante
su estadía. Sus comentarios han sido compartidos con el equipo para asegurarnos de que
estas situaciones se aborden y no vuelvan a ocurrir.
Giới thiệu về Generative AI trong Snowflake

Mô hình chi phí Cortex

Luồng công việc Cortex cho thấy token đầu vào, tính toán và token đầu ra đều có chi phí

1 Hình ảnh do ChatGPT-4o tạo
Giới thiệu về Generative AI trong Snowflake

Giới hạn chi phí

$$

  • Cắt gọn đầu vào, chỉ xử lý phần liên quan

  • Giới hạn kích thước đầu ra

  • Giảm temperature

# Giới hạn chi phí complete
complete(prompt=prompt, 
         model='llama3.1-8b', 
         options={
            'max_tokens':120,

'temperature':0})
Giới thiệu về Generative AI trong Snowflake

Thực tiễn tốt với Cortex

  • Xâu chuỗi mô hình hiệu quả
# Tóm tắt trước khi gọi nhiều hàm phía sau
summarize()
text_classify()
complete()
translate()
  • Ghi log
  • Bộ nhớ đệm (caching)
  • Pipeline theo lô
Giới thiệu về Generative AI trong Snowflake

Ayo berlatih!

Giới thiệu về Generative AI trong Snowflake

Preparing Video For Download...