Let the LLM Write the Prompts: An Intro to DSPy in Compound AI Pipelines

Tóm tắt ngắn:
- Bài thuyết trình giới thiệu DSPy, một framework giúp đơn giản hóa việc sử dụng LLM trong các pipeline AI phức tạp, đặc biệt là khi xử lý dữ liệu không cấu trúc.
- Điểm mấu chốt là DSPy tách rời nhiệm vụ khỏi LLM, cho phép lập trình các tác vụ thay vì chỉ dựa vào prompt. Các công nghệ được đề cập bao gồm LightLLM, OpenAI, Anthropic, và các mô hình khác như Quen, Llama. Ví dụ được sử dụng là pipeline conflation dữ liệu địa điểm của Overture Maps Foundation.
- Ứng dụng chính là xây dựng các pipeline AI mạnh mẽ, dễ bảo trì, và có khả năng thay đổi mô hình LLM mà không cần chỉnh sửa nhiều code. Điều này đặc biệt hữu ích trong các dự án lớn, phức tạp, và có nhiều người tham gia.
- Phương pháp được mô tả chi tiết là quá trình tối ưu hóa prompt bằng Miro v2, sử dụng một LLM lớn hơn để tạo ra các prompt tốt hơn dựa trên dữ liệu đánh giá (eval data).
Tóm tắt chi tiết:
Bài thuyết trình bắt đầu bằng việc chỉ ra vấn đề của việc sử dụng prompt trực tiếp trong các pipeline AI: prompt dễ vỡ, khó bảo trì, và phụ thuộc vào mô hình LLM. Người thuyết trình dùng câu nói nổi tiếng về regular expression để minh họa: "Some people, when confronted with a problem, think 'I know, I'll use a regular expression.' Now they have two problems." Ông cho rằng điều tương tự cũng áp dụng cho prompt LLM.
Tiếp theo, người thuyết trình giới thiệu Overture Maps Foundation và thách thức của việc conflation dữ liệu địa điểm (POI) – một vấn đề phức tạp do dữ liệu không đồng nhất và lỗi do con người gây ra. Ông nhấn mạnh việc sử dụng LLM là cần thiết nhưng không thể áp dụng cho toàn bộ 70 triệu địa điểm. Vì vậy, giải pháp là sử dụng pipeline AI kết hợp, trong đó LLM chỉ được dùng cho các trường hợp phức tạp.
Phần chính của bài thuyết trình tập trung vào DSPy. Người thuyết trình giải thích cách DSPy giúp giải quyết vấn đề bằng cách cho phép định nghĩa các tác vụ (tasks) một cách lập trình, thay vì viết prompt trực tiếp. Ông trình bày khái niệm "signature" (định nghĩa đầu vào/đầu ra) và "module" (chiến lược prompting) trong DSPy. Các ví dụ code đơn giản minh họa cách sử dụng DSPy với các module khác nhau như predict, chain of thought, và react.
Một ví dụ về class signature được xây dựng để xử lý conflation POI được trình bày chi tiết, cho thấy cách sử dụng docstring để thêm thông tin vào prompt và cách định nghĩa các trường dữ liệu với mô tả.
Quá trình tối ưu hóa prompt bằng Miro v2 được giải thích. Miro v2 sử dụng một LLM lớn hơn để tự động tạo và tối ưu hóa prompt dựa trên dữ liệu đánh giá. Kết quả là một prompt chất lượng cao hơn, đạt được độ chính xác từ 60% lên 82% trong ví dụ conflation POI. Người thuyết trình cũng nhấn mạnh khả năng chuyển đổi giữa các mô hình LLM khác nhau một cách dễ dàng nhờ DSPy.
Cuối cùng, người thuyết trình đưa ra bài tập về nhà: bắt đầu làm quen với DSPy, thử viết một signature, và khám phá dữ liệu của Overture Maps Foundation. Ông cũng khuyến khích người xem đọc các bài viết của ông để hiểu rõ hơn về công nghệ. Câu nói "Prompts are worthless. Eval data is gold. Model is kind of worthless. It's all about your eval data" nhấn mạnh tầm quan trọng của dữ liệu đánh giá trong việc xây dựng và tối ưu hóa pipeline AI.