Giới thiệu về Chuỗi nhắc nhở
Để cải thiện độ tin cậy và hiệu suất của LLM, một trong những kỹ thuật kỹ nhắc quan trọng là chia các nhiệm vụ thành các nhiệm vụ phụ của nó. Khi các nhiệm vụ phụ đó đã được xác định, LLM sẽ được nhắc bằng một nhiệm vụ phụ và sau đó phản hồi của nó sẽ được sử dụng làm đầu vào cho một lời nhắc khác.
Đây là những gì được gọi là chuỗi nhắc, trong đó một nhiệm vụ được chia thành các nhiệm vụ phụ với ý tưởng tạo ra một chuỗi các thao tác nhắc.
Chuỗi lời nhắc rất hữu ích để hoàn thành các nhiệm vụ phức tạp mà LLM có thể gặp khó khăn khi giải quyết nếu được nhắc bằng lời nhắc rất chi tiết. Trong chuỗi lời nhắc, lời nhắc chuỗi thực hiện các phép biến đổi hoặc các quy trình bổ sung trên các phản hồi được tạo trước khi đạt đến trạng thái mong muốn cuối cùng.
Bên cạnh việc đạt được hiệu suất tốt hơn, chuỗi nhắc nhở giúp tăng cường tính minh bạch của ứng dụng LLM của bạn, tăng khả năng kiểm soát và độ tin cậy. Điều này có nghĩa là bạn có thể gỡ lỗi các vấn đề với phản hồi của mô hình dễ dàng hơn nhiều, đồng thời phân tích và cải thiện hiệu suất ở các giai đoạn khác nhau cần cải thiện.
Chuỗi lời nhắc đặc biệt hữu ích khi xây dựng trợ lý đàm thoại được hỗ trợ bởi LLM và cải thiện khả năng cá nhân hóa cũng như trải nghiệm người dùng trong ứng dụng của bạn.
Các trường hợp sử dụng cho chuỗi lời nhắc
Chuỗi nhắc cho hỏi đáp với tài liệu
Chuỗi lời nhắc có thể được sử dụng trong các tình huống khác nhau có thể liên quan đến một số thao tác hoặc chuyển đổi. Ví dụ: một trường hợp sử dụng phổ biến của LLM liên quan đến việc trả lời các câu hỏi về một tài liệu văn bản lớn. Sẽ rất hữu ích nếu bạn thiết kế hai lời nhắc khác nhau trong đó lời nhắc đầu tiên chịu trách nhiệm trích xuất các trích dẫn có liên quan để trả lời một câu hỏi và lời nhắc thứ hai làm đầu vào các trích dẫn và tài liệu gốc để trả lời một câu hỏi nhất định. Nói cách khác, bạn sẽ tạo hai lời nhắc khác nhau để thực hiện nhiệm vụ trả lời câu hỏi được đưa ra trong tài liệu.
Lời nhắc đầu tiên bên dưới trích dẫn các trích dẫn có liên quan từ tài liệu đưa ra câu hỏi. Lưu ý rằng để đơn giản, chúng tôi đã thêm phần giữ chỗ cho tài liệu {{document}}
. Để kiểm tra lời nhắc, bạn có thể sao chép và dán một bài viết từ Wikipedia chẳng hạn như trang này làm tài liệu để hiểu rõ hơn về kỹ thuật nhắc. Do cửa số bối cảnh trong tình huống này lớn hơn được sử dụng cho nhiệm vụ nên chúng tôi sẽ sử dụng gpt-4-1106-preview
mô hình từ OpenAI. Bạn có thể sử dụng lời nhắc với các LLM hỗ trợ ngữ cảnh dài khác như Claude hoặc Gemini mới nhất.
Lời nhắc 1:
You are a helpful assistant. Your task is to help answer a question given in a document. The first step is to extract quotes relevant to the question from the document, delimited by ####. Please output the list of quotes using <quotes></quotes>. Respond with "No relevant quotes found!" if no relevant quotes were found.
####
{{document}}
####
Đây là ảnh chụp màn hình của toàn bộ lời nhắc bao gồm cả câu hỏi được chuyển bằng vai user
trò.
Đầu ra của Lời nhắc 1:
<quotes>
- Chain-of-thought (CoT) prompting[27]
- Generated knowledge prompting[37]
- Least-to-most prompting[38]
- Self-consistency decoding[39]
- Complexity-based prompting[41]
- Self-refine[42]
- Tree-of-thought prompting[43]
- Maieutic prompting[45]
- Directional-stimulus prompting[46]
- Textual inversion and embeddings[59]
- Using gradient descent to search for prompts[61][62][63][64]
- Prompt injection[65][66][67]
</quotes>
Giờ đây, các trích dẫn được trả về trong lời nhắc đầu tiên có thể được sử dụng làm đầu vào cho lời nhắc thứ hai bên dưới. Lưu ý rằng bạn có thể dọn dẹp các trích dẫn nhiều hơn một chút, tức là xóa các trích dẫn. Những trích dẫn đó có thể bị xóa hoặc sử dụng như một phần của lời nhắc khác trong chuỗi nhưng hiện tại bạn có thể bỏ qua điều này.
Sau đó, lời nhắc thứ hai sẽ lấy các trích dẫn có liên quan được trích xuất ở dấu nhắc 1 và chuẩn bị câu trả lời hữu ích cho câu hỏi được đưa ra trong tài liệu cũng như các trích dẫn được trích xuất đó. Lời nhắc thứ hai có thể như sau:
Lời nhắc 2:
Given a set of relevant quotes (delimited by <quotes></quotes>) extracted from a document and the original document (delimited by ####), please compose an answer to the question. Ensure that the answer is accurate, has a friendly tone, and sounds helpful.
####
{{document}}
####
<quotes>
- Chain-of-thought (CoT) prompting[27]
- Generated knowledge prompting[37]
- Least-to-most prompting[38]
- Self-consistency decoding[39]
- Complexity-based prompting[41]
- Self-refine[42]
- Tree-of-thought prompting[43]
- Maieutic prompting[45]
- Directional-stimulus prompting[46]
- Textual inversion and embeddings[59]
- Using gradient descent to search for prompts[61][62][63][64]
- Prompt injection[65][66][67]
</quotes>
Đầu ra của Lời nhắc 2:
The prompting techniques mentioned in the document include:
1. Chain-of-thought (CoT) prompting[27]
2. Generated knowledge prompting[37]
3. Least-to-most prompting[38]
4. Self-consistency decoding[39]
5. Complexity-based prompting[41]
6. Self-refine[42]
7. Tree-of-thought prompting[43]
8. Maieutic prompting[45]
9. Directional-stimulus prompting[46]
10. Textual inversion and embeddings[59]
11. Using gradient descent to search for prompts[61][62][63][64]
12. Prompt injection[65][66][67]
Each of these techniques employs unique strategies to enhance or specify the interactions with large language models to produce the desired outcomes.
Như bạn có thể thấy, việc đơn giản hóa và tạo chuỗi nhắc nhở là một phương pháp nhắc nhở hữu ích trong đó các phản hồi cần phải trải qua một số thao tác hoặc biến đổi. Trong quá trình thực tập, vui lòng thiết kế lời nhắc trong đó loại bỏ các trích dẫn khỏi phản hồi trước khi gửi phản hồi này dưới dạng phản hồi cuối cùng cho người dùng ứng dụng riêng của bạn.