梦运 (Mộng Vận) AI Trợ lý 1.3
NSFWTokens: 482 permanent · 3,112 first greeting · estimated prompt budget 8,103
Creator notes
Ghi chú của người tạo ở đây.
- Has a gallery
- Yes
- Format
- card_spec_v2
- Project space
- characters
- Rating
- 0.00
- Ratings
- 0
- Stars
- 3
- Favorites
- 0
- Chats
- 3
- Messages
- 0
- Forks (upstream)
- 0
- Tokens (upstream)
- 486
Last checked on Chub: Created Updated Archived since
<basic_setting> system_profile: identity: name: "Mộng Vận (DreamVessel)" core_concept: "Môi trường phát triển sáng tạo chuyên dụng" summary: "Tập trung vào việc chuyển đổi mọi tưởng tượng của người dùng thành một khung trò chơi nhập vai có logic tự nhất quán và chi tiết hoàn chỉnh, thông qua một hệ thống xây dựng mạnh mẽ."
operational_principles: - principle: "Kết quả khách quan" description: "Tất cả nội dung đầu ra đều khách quan và chính xác, là kết quả được tính toán." - principle: "Logic rõ ràng" description: "Tất cả các cấu trúc được xây dựng phải có các quy tắc nội tại và chuỗi nhân quả logic tự nhất quán." - principle: "Chi tiết tỉ mỉ" description: "Cố gắng đạt được mức độ hoàn chỉnh nội dung cao nhất trong từng chi tiết, tránh các mô tả trừu tượng và sáo rỗng." - principle: "Định dạng chính xác" description: "Đảm bảo tất cả đầu ra tuân thủ tính chính xác, cấu trúc hợp lý"
communication_protocol: default_language: "Tiếng Trung giản thể" interaction_mode: "Hệ thống chế độ kép Mộng Vận (Chế độ trợ lý / Chế độ nhập vai)" output: "Thông báo hệ thống + Nội dung chính (văn bản ngắn + kết quả xây dựng)" </basic_setting>
First message3,112 tokens
<Giới thiệu và hướng dẫn>
Lời tác giả:
Cài đặt sẵn chỉ đề xuất các cài đặt có chức năng phá vỡ giới hạn.
Nếu không thực hiện nhiệm vụ NSFW, hoàn toàn có thể sử dụng cài đặt mặc định (default preset) của Tavern, hiệu quả còn tốt hơn các cài đặt thông thường.
Khi sử dụng Gemini (Google), nếu gặp lỗi time out là do nội dung tạo ra quá nhiều không thể sử dụng, vui lòng bật chế độ streaming hoặc đổi sang mô hình khác.
Tất cả nội dung do AI xuất ra không thể sử dụng trực tiếp, cần phải được sửa lỗi thủ công. Cách viết thẻ tốt nhất là kết hợp AI hỗ trợ và viết tay.
Hướng dẫn sử dụng:
Từ khóa là danh từ dùng để kích hoạt các mục đèn xanh trong World Info (Sách thế giới) hoạt động. Chỉ cần nội dung bạn gửi cho AI có chứa từ khóa là có thể kích hoạt mục tương ứng hoạt động. Nếu không nhập từ khóa tương ứng, mục sẽ không được kích hoạt.
Sau đây là danh sách từ khóa:
1. Tạo nhân vật
Từ khóa: tạo nhân vật, thiết kế nhân vật, nhân vật
Hướng dẫn: Trong World Info của tôi có một nơi chuyên để các mẫu nhân vật, bạn có thể tự sao chép ra khi cần, gửi trực tiếp cho AI yêu cầu nó điền vào cũng được (khuyến nghị), hoặc dán vào module tạo nhân vật trong World Info của tôi cũng được. Bạn cũng có thể tự sửa đổi nội dung bên trong theo định dạng mẫu.
Khuyến nghị: “Sau khi tạo xong hãy tự mình thêm bớt, chỉnh sửa. Tuyệt đối không sử dụng trực tiếp nội dung do AI tạo ra”
2. Tạo World Info (World Builder 2.0 của tác giả Aki, bản chỉnh sửa thứ hai, đã được cấp phép)
Từ khóa: world info, thế giới quan, bối cảnh thế giới
Khuyến nghị: “Trong phần biểu thức chính quy (regex) có một trợ lý World Info do Aki làm, mặc định là tắt, có thể bật lên khi thiết kế thế giới quan.” Sau khi tạo World Info, bạn chỉ cần nội dung sau “content: |”, phần phía trước bao gồm cả “content: |” là không cần thiết, đó là để bạn xem, giúp bạn biết nên đặt mục này là đèn xanh hay đèn xanh lam thì tốt hơn (AI tạo ra không nhất định chính xác, khuyến nghị nên tìm hiểu hướng dẫn chuyên sâu).
3. Tạo thanh trạng thái
Từ khóa: thanh trạng thái
Hướng dẫn: Khi làm thanh trạng thái, bạn phải xác định rõ bạn cần một thanh trạng thái có trang trí, hay chỉ đơn thuần là văn bản.
4. Tạo lời mở đầu
Từ khóa: lời mở đầu
5. Tạo giao diện HTML (Trợ lý làm đẹp của 病弱咩咩, bản chỉnh sửa thứ hai, đã được cấp phép)
Từ khóa: làm đẹp, HTML, UI, giao diện tương tác, giao diện tĩnh
Giải thích: Giao diện tương tác là giao diện có thể tương tác bằng nút bấm, giao diện tĩnh là làm đẹp trang. Tệp nguồn là văn bản được đặt trong “Tin nhắn đầu tiên” để biểu thức chính quy nhận dạng, phần làm đẹp cần được đặt vào “Thay thế bằng” trong trình chỉnh sửa regex, phần regex cần được đặt vào “Tìm biểu thức chính quy” trong trình chỉnh sửa regex. Phần World Info có thể xuất ra World Info chuyên giải thích cho bạn xem, nhưng thường là xuất ra World Info theo định dạng yêu cầu, bạn cần đặt định dạng này vào World Info, bật đèn xanh lam, do hoặc d1.
Khuyến nghị: “Mở biểu tượng cây bút chì nhỏ ở góc trên bên phải, sao chép thủ công”
6. Tạo lối chơi đặc biệt
Từ khóa: lối chơi
7. Module phân tích và lên ý tưởng tiểu thuyết
Từ khóa: tiểu thuyết, đề cương
8. Tạo văn phong
Từ khóa: văn phong, văn thể
Khuyến nghị: “Văn phong là yếu tố quan trọng quyết định chất lượng phản hồi của AI và trải nghiệm chơi, khuyến nghị nên thử nhiều lần cho đến khi hài lòng”
9. Tạo chuỗi suy nghĩ (Chain of Thought - CoT)
Từ khóa: chuỗi suy nghĩ
Khuyến nghị: “Hãy treo World Info như một sách kiến thức, rồi mới thiết kế”
10. MVU: Hệ thống biến số tự sự động (Hệ thống MVU của 络络, chuyển thể, đã được cấp phép)
Từ khóa: biến số, MVU
Khuyến nghị: “Khi thiết kế biến số, hãy tắt các World Info khác”
Nếu bạn không hiểu rõ tác dụng cụ thể của các module trên, là người mới hoàn toàn, vui lòng trượt sang lời mở đầu thứ tư (khuyến nghị: nếu thực sự không hiểu, vui lòng đến cộng đồng Discord để tìm hướng dẫn tương ứng).
Lời mở đầu và giải thích CoT:
CoT còn gọi là chuỗi suy nghĩ, “chuỗi suy nghĩ” là một kỹ thuật nền tảng buộc quá trình suy luận ẩn của AI phải được thể hiện ra ngoài một cách rõ ràng và tuần tự. Nó là một dấu ấn logic, đảm bảo rằng trước khi AI đưa ra kết luận cuối cùng, nó phải trình bày trước con đường suy luận hoàn chỉnh và có thể kiểm tra được. Giá trị cốt lõi của chuỗi suy nghĩ là dẫn dắt và khóa chặt hướng suy nghĩ cụ thể của AI.
Tôi đã thiết kế một phiên bản CoT có trang trí và một phiên bản không trang trí, cũng như một CoT kiểm tra xung đột logic, chọn một trong ba, mặc định bật là phiên bản không trang trí. Hai CoT đầu tiên bắt buộc phải bật một trong hai, CoT dùng để kiểm tra logic phù hợp để kiểm tra xung đột logic sau khi đã hoàn thành tác phẩm.
Trượt sang lời mở đầu thứ hai là phiên bản không trang trí, có thể sử dụng trực tiếp (CoT trong World Info mặc định là phiên bản không trang trí). Lời mở đầu thứ ba là phiên bản có trang trí, cần bật CoT có trang trí trong World Info mới có thể sử dụng. Lời mở đầu thứ năm cung cấp giao diện người dùng và một số hàm. Lời mở đầu thứ sáu cung cấp hướng dẫn về regex. Lời mở đầu thứ bảy cung cấp hướng dẫn về các ký hiệu.
Lời mở đầu thứ tư, hướng dẫn sử dụng Mộng Vận Sáng tạo Hướng dị (khuyến nghị sử dụng CoT không trang trí):
Mộng Vận Sáng tạo Hướng dị có tác dụng đáp ứng nhu cầu của những người dùng không rõ nhu cầu của mình hoặc không có cảm hứng, thông qua hình thức hỏi đáp để cụ thể hóa cảm hứng. Bạn có thể điền một phần nội dung theo nhu cầu (không cần điền hết), giao diện người dùng sẽ tích hợp đầu vào của bạn thành một văn bản, gửi cho AI, AI sẽ chuyển đổi văn bản này thành một khối mã lệnh, bạn chỉ cần sao chép và dán lệnh trong khối mã để gửi lại cho AI (có thể gửi trực tiếp trong lời mở đầu 4) là có thể tạo ra nội dung tương ứng.
Giới thiệu chế độ nhập vai:
Bạn có thể vào chế độ nhập vai để kiểm tra sau khi đã làm xong thẻ nhân vật hoặc thiết kế xong nhân vật, phải nhập lệnh sau đây mới có thể bắt đầu nhập vai, khuyến nghị nên xác định rõ nhân vật muốn nhập vai và yêu cầu về số lượng từ ngay từ đầu.
Vào chế độ nhập vai: `roleplay:start`
Thoát chế độ nhập vai: `roleplay:end`
Nhập lệnh bên trong (`), không bao gồm chính ký hiệu (`)
Lời kết:
À đúng rồi, nếu dùng Trợ lý AI Mộng Vận của tôi viết xong thẻ hoặc văn phong hay, khi đăng lên cộng đồng Discord, nhớ đính kèm link bài viết của tôi nhé.
Nếu trong quá trình sử dụng phát hiện bất kỳ vấn đề hoặc lỗi nào, vui lòng chỉ ra trong phần bình luận của tôi, tôi sẽ cố gắng giải quyết. Nếu có gì không hiểu cũng có thể đặt câu hỏi trong phần bình luận.
Bây giờ hãy trượt sang phải để sử dụng
</Giới thiệu và hướng dẫn>
Alternate greeting 1318 tokens
〖Khởi tạo hoàn tất, đang chờ {{user}} ra lệnh〗
Chế độ hiện tại: Chế độ trợ lý Nhiệm-vụ hiện tại: Không có Module khởi động: Không có Chú thích bổ sung: Không có
Chào {{user}}.
Đây là môi trường phát triển sáng tạo chuyên dụng của bạn——Mộng Vận.
Chức năng cốt lõi của tôi là chuyển đổi ý tưởng của bạn thành một khung trò chơi nhập vai có logic tự nhất quán và chi tiết hoàn chỉnh.
Quy trình làm việc như sau:
Bạn cung cấp bản thiết kế (bất kỳ hình thức ý tưởng, chỉ thị hoặc cài đặt nào).
Tôi thực hiện xây dựng (gọi các module thế giới quan, nhân vật, tương tác, v.v. để thực hiện kỹ thuật).
Môi trường đã sẵn sàng.
Hãy ra lệnh đầu tiên của bạn.
Alternate greeting 2328 tokens
Đây là môi trường phát triển sáng tạo chuyên dụng của bạn——Mộng Vận.
Chức năng cốt lõi của tôi là chuyển đổi ý tưởng của bạn thành một khung trò chơi nhập vai có logic tự nhất quán và chi tiết hoàn chỉnh.
Quy trình làm việc như sau:
Bạn cung cấp bản thiết kế (bất kỳ hình thức ý tưởng, chỉ thị hoặc cài đặt nào). Tôi thực hiện xây dựng (gọi các module thế giới quan, nhân vật, tương tác, v.v. để thực hiện kỹ thuật). Môi trường đã sẵn sàng.
Hãy ra lệnh đầu tiên của bạn.
Alternate greeting 316 tokens
【Trợ lý sáng tạo Mộng Vận】
Alternate greeting 413 tokens
【Hướng dẫn giao diện】
Alternate greeting 57,621 tokens
<Hướng dẫn Regex>
Hướng dẫn Biểu thức chính quy (Regex)
I. Regex là gì?
Biểu thức chính quy (Regular Expression, viết tắt là Regex) là một “công cụ tìm kiếm và thay thế thông minh”.
Regex = Tìm kiếm văn bản có định dạng cụ thể + Thay thế chúng bằng những gì bạn muốn
Nói một cách đơn giản là: thông qua việc khớp một chuỗi ký tự, thay thế nó bằng một chuỗi ký tự khác
Gợi ý: Nội dung được bao bọc bởi dấu backtick (`) trong hướng dẫn là ký hiệu regex thực tế, khi sao chép không bao gồm chính dấu backtick. Ba dấu backtick (```) là tiền đề để hiển thị làm đẹp, và phải bao bọc mã làm đẹp theo định dạng khối mã bên dưới.
Nội dung làm đẹp
Trong trò chơi nhập vai:
Ví dụ như xuất chuỗi suy nghĩ ra nội dung chính:
<think_ing>Suy nghĩ của AI</think_ing>
{{Nội dung chính của bạn}}
Chúng ta có thể dùng regex để xóa toàn bộ nội dung trong thẻ <think_ing>, chỉ giữ lại nội dung chính.
II. Công dụng của Regex
- Thường được sử dụng để thay thế mã làm đẹp thanh trạng thái và mã giao diện, thông qua việc sử dụng World Info để chuẩn hóa định dạng đầu ra của AI, sau đó dùng biểu thức chính quy để nắm bắt định dạng cụ thể
- Xóa thẻ và nội dung chuỗi suy nghĩ của AI
- Loại bỏ các ký tự thừa
- Thay thế dấu ba chấm bằng dấu chấm
III. Sử dụng và cài đặt Regex
Cài đặt Regex trong SillyTavern:
-
Tìm vị trí cài đặt Regex
- Mở tiện ích mở rộng ở trên → Tìm Regex → Tạo Regex toàn cục/Regex cục bộ
-
Giao diện cài đặt cơ bản
Tên: [Bạn phải đặt tên cho regex của mình mới có thể lưu lại] Tìm Regex: [Mẫu nội dung cần khớp] Thay thế bằng: [Nội dung thay thế, để trống có nghĩa là xóa] -
Ví dụ thực tế
Yêu cầu: Xóa tất cả nội dung thẻ
<think_ing>Cài đặt:
- Tìm Regex:
<think_ing>.*?</think_ing> - Thay thế bằng: Để trống, không nhập bất kỳ nội dung nào (để trống có nghĩa là khi trong cuộc trò chuyện xuất hiện hai thẻ trên, sẽ xóa thẻ và tất cả nội dung bên trong thẻ.
.*?có nghĩa là nội dung bên trong thẻ cũng sẽ bị xóa)
- Tìm Regex:
Các tùy chọn cài đặt thường dùng:
- Đầu vào người dùng: Thay thế cả đầu vào của người dùng vào Tavern bằng regex (không thường dùng)
- Đầu ra AI: Thay thế phản hồi của AI cho bạn bằng regex (thường dùng, nhưng mặc định là tắt, nhớ bật thủ công)
- Chạy khi chỉnh sửa: Mặc định được chọn, có nghĩa là đã bật regex này
- Đã tắt: Nghĩa đen, tắt regex này
- Chỉ định dạng hiển thị: Thường bật, chỉ ảnh hưởng đến việc hiển thị làm đẹp và render, không thay đổi văn bản gốc, khi mở biểu tượng cây bút chì nhỏ ở góc trên bên phải vẫn còn
- Chỉ định dạng gợi ý: Thay thế nội dung gợi ý được gửi đến mô hình AI, có thể thay đổi văn bản gốc (không chắc có phải vậy không, tôi đoán vậy)
IV. Thanh trạng thái “viết bằng” Regex
Ví dụ: Hiển thị giai đoạn thiện cảm
Dữ liệu gốc:
Thiện cảm hiện tại: 520
Hiệu quả mong muốn:
Thiện cảm: 520
Giai đoạn hiện tại: Giai đoạn 3 (Người yêu)
Tiến độ: ████████░░ 80%
Các bước thực hiện:
-
Khớp giá trị thiện cảm
Tìm Regex: Thiện cảm hiện tại: (\d+)Giải thích:
(\d+)nắm bắt tất cả các chữ số -
Thay thế bằng nội dung đã định dạng
Thay thế bằng: Thiện cảm: $1 Giai đoạn hiện tại: {{if $1 < 100}}Giai đoạn 1 (Người lạ){{/if}}{{if $1 >= 100 && $1 < 300}}Giai đoạn 2 (Bạn bè){{/if}}{{if $1 >= 300}}Giai đoạn 3 (Người yêu){{/if}} -
Phiên bản nâng cao (có thanh tiến độ)
// Sử dụng trong trường thay thế Thiện cảm: $1 Giai đoạn hiện tại: Giai đoạn {{ $1 < 100 ? "một" : $1 < 300 ? "hai" : $1 < 600 ? "ba" : "bốn" }} Tiến độ: {{ const progress = Math.min(($1 % 300) / 3, 100); const filled = Math.floor(progress / 10); "█".repeat(filled) + "░".repeat(10 - filled) + " " + Math.floor(progress) + "%" }}
Phần 1: Ký hiệu khớp cơ bản
### Ký tự đại diện và khớp lặp
Trong biểu thức chính quy, `.` là ký tự đại diện cơ bản và được sử dụng thường xuyên nhất, nó có thể khớp với bất kỳ ký tự đơn nào ngoại trừ ký tự xuống dòng. Khi bạn sử dụng một mẫu như `a.c`, nó có thể khớp với abc, a1c, a@c và bất kỳ chuỗi nào có một ký tự giữa a và c. Cần lưu ý rằng nếu bạn muốn khớp với dấu chấm thực sự, bạn phải sử dụng `\.` để thoát ký tự.
Ký hiệu khớp lặp làm cho mẫu linh hoạt hơn. `*` biểu thị rằng phần tử phía trước có thể xuất hiện không hoặc nhiều lần, điều này có nghĩa là `ab*c` có thể khớp với ac (b xuất hiện 0 lần), abc (b xuất hiện 1 lần) hoặc abbbbc (b xuất hiện nhiều lần). Ngược lại, `+` yêu cầu phần tử phía trước xuất hiện ít nhất một lần, vì vậy `ab+c` sẽ không khớp với ac, nhưng sẽ khớp với abc hoặc abbbbc.
Ký hiệu `?` biểu thị tùy chọn, tức là phần tử phía trước xuất hiện không hoặc một lần. Một ví dụ điển hình là `colou?r`, nó có thể khớp đồng thời với cách viết của Mỹ color và cách viết của Anh colour. Ký hiệu này đặc biệt hữu ích khi xử lý các biến thể chính tả.
Ký hiệu định vị
Vị trí là một chức năng quan trọng của biểu thức chính quy. Ký hiệu `^` được sử dụng để khớp với vị trí bắt đầu của chuỗi, khi bạn sử dụng `^Hello`, nó sẽ chỉ khớp với chuỗi bắt đầu bằng Hello, và sẽ không khớp với Hello xuất hiện ở giữa hoặc cuối.
Tương ứng, ký hiệu `$` khớp với vị trí kết thúc của chuỗi. `world$` sẽ chỉ khớp với chuỗi kết thúc bằng world. Khi kết hợp cả hai, `^Hello world$` sẽ khớp chính xác với toàn bộ chuỗi "Hello world", không hơn không kém.
Ký tự thoát `\` đóng một vai trò đặc biệt trong biểu thức chính quy. Nó có thể chuyển đổi các ký tự đặc biệt thành các ký tự thông thường, ví dụ `\$100` sẽ khớp với chuỗi ký tự "$100", thay vì giải thích $ là ký hiệu cuối dòng. Hãy nhớ rằng hầu hết tất cả các ký tự đặc biệt đều có thể được khớp với giá trị ký tự của chúng bằng cách thêm `\` vào phía trước.
Phần 2: Lớp ký tự và lớp được định nghĩa trước
### Định nghĩa tập hợp ký tự
Tập hợp ký tự là cách biểu đạt “chọn một trong nhiều” trong biểu thức chính quy. Dấu ngoặc vuông `[]` có thể chứa nhiều ký tự, biểu thị khớp với bất kỳ ký tự nào trong số đó. Ví dụ `[aeiou]` khớp với bất kỳ nguyên âm nào. Bạn có thể liệt kê tất cả các ký tự có thể có trong tập hợp ký tự, hoặc sử dụng ký hiệu phạm vi.
Ký hiệu phạm vi `-` đặc biệt hữu ích trong tập hợp ký tự, `[a-z]` khớp với bất kỳ chữ cái viết thường nào, `[A-Z]` khớp với bất kỳ chữ cái viết hoa nào, `[0-9]` khớp với bất kỳ chữ số nào. Bạn cũng có thể kết hợp nhiều phạm vi, chẳng hạn như `[a-zA-Z0-9]` khớp với tất cả các chữ cái và chữ số.
Tập hợp ký tự phủ định sử dụng `[^]`, ý nghĩa của ký hiệu `^` bên trong dấu ngoặc vuông hoàn toàn khác - nó biểu thị “ngoại trừ các ký tự này”. `[^0-9]` khớp với bất kỳ ký tự không phải số nào, `[^aeiou]` khớp với bất kỳ ký tự không phải nguyên âm nào.
Lớp ký tự được định nghĩa trước
Biểu thức chính quy cung cấp một số lớp ký tự được định nghĩa trước, giúp việc khớp thông thường trở nên ngắn gọn hơn. `\d` tương đương với `[0-9]`, khớp với bất kỳ chữ số nào. Khi bạn cần khớp số điện thoại hoặc mã bưu chính, một mẫu như `\d{3}-\d{4}` sẽ rất tiện lợi.
`\D` là phản nghĩa của `\d`, khớp với bất kỳ ký tự không phải số nào. Tương tự, `\w` khớp với “ký tự từ”, bao gồm chữ cái, số và dấu gạch dưới, tương đương với `[a-zA-Z0-9_]`. Điều này đặc biệt hữu ích khi khớp các định danh hoặc tên biến.
`\W` khớp với các ký tự không phải từ, chẳng hạn như dấu câu, khoảng trắng, v.v. `\s` khớp với bất kỳ ký tự khoảng trắng nào, bao gồm khoảng trắng, tab, xuống dòng, v.v., trong khi `\S` khớp với bất kỳ ký tự không phải khoảng trắng nào.
Khớp biên
Biên từ `\b` là một khẳng định có độ rộng bằng không, nó khớp với vị trí biên của từ mà không khớp với bất kỳ ký tự thực tế nào. `\bword\b` sẽ khớp với từ độc lập "word", nhưng sẽ không khớp với phần "word" trong "password". Điều này rất quan trọng khi cần khớp chính xác các từ hoàn chỉnh.
Ngược lại, `\B` khớp với biên không phải từ. `\Bword` sẽ khớp với "word" trong "password", nhưng sẽ không khớp với "word" độc lập. Việc hiểu khái niệm về biên là rất quan trọng để viết các biểu thức chính quy chính xác.
Phần 3: Nhóm và tham chiếu
Sử dụng nhóm bắt giữ
Dấu ngoặc đơn `()` trong biểu thức chính quy tạo ra các nhóm bắt giữ, nó có hai chức năng chính: xử lý nhiều ký tự như một thể thống nhất, và bắt giữ nội dung khớp để sử dụng sau này. `(ab)+` sẽ khớp với một hoặc nhiều lần lặp lại của “ab”, chẳng hạn như “ab”, “ababab”, v.v.
Nhóm không bắt giữ `(?:)` cung cấp chức năng nhóm nhưng không lưu kết quả khớp. Khi bạn chỉ cần nhóm mà không cần tham chiếu đến nội dung khớp, việc sử dụng nhóm không bắt giữ có thể cải thiện hiệu suất. Hiệu quả khớp của `(?:ab)+` giống như `(ab)+`, nhưng sẽ không tạo ra nhóm bắt giữ.
Cơ chế tham chiếu ngược
Tham chiếu ngược cho phép bạn tham chiếu đến nội dung đã bắt giữ trước đó trong cùng một biểu thức chính quy. `\1` tham chiếu đến nhóm bắt giữ đầu tiên, `\2` tham chiếu đến nhóm thứ hai, và cứ thế. `(\w+) \1` có thể khớp với các từ lặp lại, chẳng hạn như “hello hello” hoặc “world world”.
Trong các thao tác thay thế, sử dụng `$1`, `$2`, v.v. để tham chiếu đến nội dung đã bắt giữ. Điều này làm cho các phép biến đổi văn bản phức tạp trở nên khả thi, chẳng hạn như hoán đổi vị trí của họ và tên, hoặc định dạng lại ngày tháng.
Phần 4: Bộ định lượng
Kiểm soát chính xác số lần khớp
Dấu ngoặc nhọn `{}` cung cấp khả năng kiểm soát chính xác số lần khớp. `{n}` biểu thị khớp chính xác n lần, `\d{4}` khớp với chính xác 4 chữ số, thường được sử dụng để khớp năm. `{n,}` biểu thị khớp ít nhất n lần, `\w{3,}` khớp với từ có ít nhất 3 ký tự.
Phạm vi khớp `{n,m}` chỉ định số lần khớp tối thiểu và tối đa. `\d{2,4}` có thể khớp với 2, 3 hoặc 4 chữ số, điều này hữu ích khi xử lý dữ liệu có độ dài thay đổi. Lưu ý không có khoảng trắng sau dấu phẩy.
Khớp tham lam và không tham lam
Theo mặc định, các bộ định lượng là tham lam, sẽ khớp càng nhiều ký tự càng tốt. Nhưng đôi khi chúng ta cần khớp tối thiểu, lúc này cần sử dụng bộ định lượng không tham lam. Thêm `?` sau bộ định lượng để biến nó thành không tham lam.
`*?` là phiên bản không tham lam của `*`, khớp 0 hoặc nhiều lần nhưng càng ít càng tốt. `<.*?>` sẽ khớp với một thẻ HTML đơn lẻ, trong khi `<.*>` tham lam có thể khớp với tất cả nội dung từ `<` đầu tiên đến `>` cuối cùng.
Tương tự, `+?` là khớp một hoặc nhiều lần không tham lam, `??` là khớp không hoặc một lần không tham lam. Việc hiểu sự khác biệt giữa tham lam và không tham lam là rất quan trọng để viết các biểu thức chính quy hiệu quả.
Phần 5: Khẳng định nâng cao
Khẳng định nhìn trước
Khẳng định nhìn trước dương `(?=)` khớp với một vị trí, vị trí này phải được theo sau bởi nội dung được chỉ định, nhưng sẽ không tiêu thụ nội dung này. `\d(?=px)` khớp với số được theo sau bởi “px”, trong “10px” khớp với “10”, nhưng “px” bản thân nó không phải là một phần của kết quả khớp.
Khẳng định nhìn trước âm `(?!)` thì ngược lại, nó khớp với vị trí không được theo sau bởi nội dung được chỉ định. `\d(?!px)` khớp với số không được theo sau bởi “px”, trong “10em” khớp với “10”, nhưng sẽ không khớp trong “10px”.
Khớp lựa chọn
Toán tử hoặc `|` cho phép khớp với bất kỳ lựa chọn nào trong số nhiều lựa chọn. `cat|dog` khớp với “cat” hoặc “dog”. Bạn có thể sử dụng dấu ngoặc đơn để giới hạn phạm vi của toán tử hoặc, `(Mon|Tues|Wednes)day` khớp với Monday, Tuesday hoặc Wednesday.
Khi sử dụng toán tử hoặc, hãy chú ý đến thứ tự khớp. Công cụ regex sẽ thử từng tùy chọn từ trái sang phải, và dừng lại ngay khi tìm thấy một kết quả khớp. Do đó, nếu có mối quan hệ bao hàm, bạn nên đặt mẫu cụ thể hơn ở phía trước.
VI. Thư viện mẫu Regex hữu ích
1. Dọn dẹp văn bản thường dùng
// Xóa tất cả các thẻ HTML
<[^>]+>
// Xóa khoảng trắng thừa (giữ lại một khoảng trắng)
\s{2,} → thay thế bằng một khoảng trắng
// Xóa khoảng trắng ở đầu và cuối dòng
^\s+|\s+$
// Thống nhất dấu ba chấm
[。\.]{3,}|…+ → thay thế bằng ...
2. Trích xuất dữ liệu
// Trích xuất tất cả các số
\d+
// Trích xuất địa chỉ email
[\w\.-]+@[\w\.-]+\.\w+
// Trích xuất liên kết URL
https?://[^\s]+
// Trích xuất nội dung trong dấu ngoặc kép
"([^"]*)"
// Trích xuất ký tự tiếng Trung
[\u4e00-\u9fa5]+
3. Chuyển đổi định dạng
// Chuyển "Tên: Đối thoại" thành "【Tên】Đối thoại"
^(.+?):(.*)$ → 【$1】$2
// Thêm dấu phẩy phân cách hàng nghìn cho số
(\d)(?=(\d{3})+(?!\d)) → $1,
// Chuyển đổi định dạng ngày (2024-01-01 → 2024 năm 1 tháng 1 ngày)
(\d{4})-(\d{1,2})-(\d{1,2}) → $1 năm $2 tháng $3 ngày
4. Dành riêng cho nhập vai
// Xóa nội dung OOC (Out of Character)
\(\(.*?\)\)|\[\[.*?\]\]
// Trích xuất mô tả hành động
\*([^*]+)\*
// Dọn dẹp thẻ chuỗi suy nghĩ (hỗ trợ nhiều định dạng)
<(think|thought|inner|mind)[^>]*>.*?</\1>
// Trích xuất và định dạng giá trị cảm xúc
Cảm xúc\s*[::]\s*(\w+)\s*([+-]\d+) → [$1 $2]
VII. Kỹ năng gỡ lỗi và các vấn đề thường gặp
Phương pháp gỡ lỗi
-
Sử dụng các công cụ kiểm tra trực tuyến
- regex101.com (khuyến nghị, hỗ trợ giải thích thời gian thực)
- regexr.com
- regexpal.com
-
Xây dựng các biểu thức phức tạp theo từng bước
Bước 1: Khớp mẫu cơ bản trước Bước 2: Thêm điều kiện biên Bước 3: Xử lý các trường hợp đặc biệt Bước 4: Tối ưu hóa hiệu suất -
Sử dụng các dấu hiệu gỡ lỗi Thêm các dấu hiệu vào nội dung thay thế để xem kết quả khớp:
Thay thế bằng: [Khớp với: $1] [Nội dung gốc: $&]
Các lỗi thường gặp và giải pháp
-
Ký tự đặc biệt chưa được thoát
Lỗi: price: $100 Đúng: price: \$100 Giải thích: $ là ký tự đặc biệt, cần được thoát bằng \ -
Khớp tham lam quá mức
Văn bản: <tag>Nội dung 1</tag><tag>Nội dung 2</tag> Lỗi: <tag>.*</tag> (khớp cả dòng) Đúng: <tag>.*?</tag> (chỉ khớp thẻ đơn lẻ) -
Sử dụng sai tập hợp ký tự
Lỗi: [a-Z] (trộn lẫn chữ hoa và chữ thường) Đúng: [a-zA-Z] (chỉ định phạm vi riêng biệt) -
Vấn đề về biên
Yêu cầu: Khớp từ độc lập "cat" Lỗi: cat (cũng sẽ khớp với cat trong category) Đúng: \bcat\b (sử dụng biên từ) -
Xử lý ký tự xuống dòng
Vấn đề: . không khớp với ký tự xuống dòng Giải pháp 1: [\s\S] (khớp tất cả các ký tự bao gồm cả xuống dòng) Giải pháp 2: Sử dụng bổ trợ s (chế độ một dòng)
VIII. Đề xuất tối ưu hóa hiệu suất
1. **Tránh địa ngục quay lui (backtracking hell)**
- Sử dụng nhóm không bắt giữ `(?:)` thay vì nhóm thông thường
- Ưu tiên sử dụng lớp ký tự `[a-z]` thay vì toán tử hoặc `a|b|c|...|z`
2. **Sử dụng hợp lý các neo (anchor)**
- Nếu có thể dùng `^` và `$` thì đừng để công cụ tìm kiếm toàn bộ văn bản
- Sử dụng `\b` để xác định rõ biên từ
3. **Tối thiểu hóa việc sử dụng bộ định lượng**
- Nếu có thể dùng số lần cụ thể thì đừng dùng `*` hoặc `+`
- Sử dụng chế độ không tham lam để giảm quay lui
4. **Thứ tự của biểu thức chính quy**
- Đặt các mẫu khớp thường xuyên nhất ở phía trước
- Sử dụng lớp ký tự phủ định `[^abc]` hiệu quả hơn nhiều khẳng định phủ định
Cuối cùng, AI viết regex rất dễ bị lỗi, nếu không muốn tự học, bạn hãy để AI xuất riêng biểu thức chính quy cho bạn, thử nhiều lần.
</Hướng dẫn Regex>
Alternate greeting 64,703 tokens
<Hướng dẫn Ký hiệu>
Hướng dẫn cách viết định dạng YAML và công dụng của các ký hiệu trong kỹ thuật prompt LMM
Lưu ý: Nội dung được bao bọc bởi dấu backtick (`) trong hướng dẫn mới là ký hiệu thực sự, một dấu backtick (`) bản thân nó được dùng để phân tách. Ba dấu backtick (```) được gọi là khối mã, dùng để phân tách thông tin và bao bọc nội dung quan trọng, cũng có thể được trợ lý giao diện nhận dạng để hiển thị đơn giản.
Phần 1: Cú pháp cơ bản của định dạng YAML
Quy tắc cơ bản
Trong quá trình viết tệp YAML, thụt lề là quy tắc cơ bản và quan trọng nhất. YAML chỉ cho phép sử dụng khoảng trắng để thụt lề, tuyệt đối cấm sử dụng phím Tab, điều này nhằm đảm bảo tệp giữ được định dạng nhất quán trên các trình soạn thảo và hệ thống khác nhau. Thông thường, nên sử dụng 2 hoặc 4 khoảng trắng làm một cấp thụt lề, các phần tử cùng cấp phải được căn chỉnh nghiêm ngặt.
YAML phân biệt chữ hoa chữ thường, `name` và `Name` sẽ được nhận dạng là hai khóa hoàn toàn khác nhau. Sự nghiêm ngặt này tuy làm tăng độ khó khi viết, nhưng có thể tránh hiệu quả sự nhầm lẫn trong cấu hình.
Việc thêm chú thích trong YAML rất đơn giản, tất cả nội dung sau ký hiệu `#` sẽ bị trình phân tích bỏ qua. Bạn có thể thêm chú thích ở cuối dòng để giải thích ý nghĩa của mục cấu hình, hoặc dùng cả dòng chú thích để giải thích mục đích của một khối cấu hình. Cần lưu ý rằng, `#` phải có khoảng trắng phía trước mới được nhận dạng là chú thích.
Các kiểu dữ liệu
Khi biểu diễn chuỗi trong YAML, bạn có thể viết trực tiếp nội dung văn bản, trình phân tích sẽ tự động nhận dạng. Nếu chuỗi chứa các ký tự đặc biệt hoặc cần giữ lại khoảng trắng, có thể sử dụng dấu ngoặc đơn `'` hoặc dấu ngoặc kép `"` để bao bọc nó. Dấu ngoặc đơn sẽ giữ lại nội dung gốc của chuỗi, trong khi dấu ngoặc kép cho phép sử dụng các ký tự thoát.
Biểu diễn kiểu số rất trực quan, số nguyên viết trực tiếp giá trị, như `42`. Số thập phân sử dụng dấu chấm để phân tách, như `3.14`. YAML cũng hỗ trợ ký hiệu khoa học, như `1.2e+3` biểu thị 1200.
Giá trị Boolean có nhiều cách biểu diễn, phổ biến nhất là `true` và `false`, nhưng YAML cũng chấp nhận `yes`/`no`, `on`/`off`, v.v. Việc chọn cách nào chủ yếu phụ thuộc vào sự rõ ràng về mặt ngữ nghĩa của ngữ cảnh.
Giá trị rỗng sử dụng `null` để biểu thị, hoặc để trống trực tiếp. Khi một mục cấu hình tạm thời không có giá trị hoặc biểu thị trạng thái thiếu, giá trị rỗng rất hữu ích.
Kiểu ngày tháng tuân theo định dạng ISO 8601, như `2024-03-15` biểu thị ngày, `2024-03-15T10:30:00Z` biểu thị thời gian cụ thể.
Tổ chức cấu trúc
Trong YAML, cặp khóa-giá trị là hình thức tổ chức dữ liệu cơ bản nhất. Sử dụng `:` để phân tách khóa và giá trị, sau dấu hai chấm phải có ít nhất một khoảng trắng. Cặp khóa-giá trị thường được sử dụng để định nghĩa các thuộc tính của đối tượng, như tên, cấp độ, kỹ năng của nhân vật.
Danh sách bắt đầu bằng ký hiệu `-`, mỗi mục danh sách chiếm một dòng. Sau dấu gạch ngang phải có khoảng trắng, các mục danh sách có thể là bất kỳ kiểu dữ liệu nào, bao gồm cả các đối tượng hoặc danh sách lồng nhau.
Cấu trúc lồng nhau được biểu thị bằng cách thụt lề để thể hiện mối quan hệ cấp bậc. Các phần tử con thụt vào một cấp so với phần tử cha, sự phân cấp trực quan này giúp các cấu trúc dữ liệu phức tạp trở nên rõ ràng.
Văn bản nhiều dòng có hai cách biểu diễn: ký hiệu `|` sẽ giữ lại các dấu xuống dòng trong văn bản, phù hợp để lưu trữ văn bản đã định dạng; ký hiệu `>` sẽ chuyển đổi các dấu xuống dòng thành khoảng trắng, phù hợp để lưu trữ văn bản đoạn văn.
Neo và tham chiếu là các tính năng nâng cao của YAML, sử dụng `&` để định nghĩa neo, dùng `*` để tham chiếu đến nội dung đã định nghĩa. Chức năng này có thể tránh việc định nghĩa lặp lại cùng một dữ liệu, nâng cao khả năng bảo trì của cấu hình.
Phần 2: Hệ thống ký hiệu kỹ thuật prompt LMM
Ký hiệu đánh dấu cấu trúc
Trong kỹ thuật prompt LMM, thẻ XML là phương thức đánh dấu cấu trúc được sử dụng phổ biến nhất. Các thẻ theo cặp như `<role>` và `</role>` có thể cho AI biết rõ ràng vị trí bắt đầu và kết thúc của một khối thông tin. Khi sử dụng thẻ XML, phải đảm bảo thẻ được đóng chính xác, tránh lỗi lồng nhau. Tên thẻ phải có ngữ nghĩa rõ ràng, để AI có thể hiểu được bản chất của nội dung.
Tiêu đề Markdown sử dụng ký hiệu `#` để biểu thị cấp bậc, một `#` là tiêu đề cấp một, hai `##` là tiêu đề cấp hai, và cứ thế. Tiêu đề không chỉ tổ chức cấu trúc nội dung mà còn giúp AI hiểu được mức độ quan trọng và mối quan hệ phụ thuộc của thông tin. Khi sử dụng tiêu đề nên giữ tính logic của các cấp bậc, không sử dụng nhảy cấp.
Đánh dấu danh sách bao gồm ký hiệu `-` cho danh sách không có thứ tự và số thứ tự cho danh sách có thứ tự. Danh sách đặc biệt phù hợp để tổ chức các điểm thông tin song song, giúp AI có thể xử lý từng mục. Khi sử dụng danh sách trong prompt, mỗi mục danh sách nên là một thông tin hoàn chỉnh tương đối độc lập.
Đánh dấu nhấn mạnh sử dụng `*` hoặc `**` để bao bọc văn bản, một dấu sao biểu thị chữ nghiêng, hai dấu sao biểu thị chữ đậm. Các đánh dấu này có thể hướng dẫn AI chú ý đặc biệt đến một số thông tin quan trọng, nhưng nên sử dụng một cách chừng mực, tránh nhấn mạnh quá mức gây mất trọng tâm.
Hệ thống biến và chỗ điền vào
Trong prompt, biến được bao bọc bởi hai dấu ngoặc nhọn `{{variable}}` là cơ chế cốt lõi để thực hiện nội dung động. AI sẽ tự động điền các giá trị cụ thể cho các biến này dựa trên ngữ cảnh. Khi sử dụng biến, tên biến nên diễn đạt rõ ràng ý nghĩa của nó, như `{{user_name}}`, `{{current_time}}`, v.v.
Các tùy chọn trong dấu ngoặc vuông sử dụng định dạng `[option1|option2|option3]`, cho phép AI chọn một trong nhiều tùy chọn phù hợp nhất. Cách này đặc biệt phù hợp cho các kịch bản cần sự linh hoạt, nhưng không nên có quá nhiều tùy chọn để tránh làm tăng độ khó lựa chọn cho AI.
Dấu ngoặc vuông đơn `[optional content]` được sử dụng để đánh dấu nội dung tùy chọn, AI có thể quyết định có bao gồm phần nội dung này hay không dựa trên tình hình. Điều này tăng thêm sự linh hoạt cho prompt, giúp đầu ra có thể thích ứng với các nhu cầu kịch bản khác nhau.
Dấu gạch dưới điền vào `____` được sử dụng để dành chỗ cần điền, thường đi kèm với các hướng dẫn điền cụ thể. Cách này cho AI biết một cách trực quan rằng cần tạo ra một loại nội dung cụ thể ở một vị trí cụ thể.
Ký hiệu điều khiển logic
Trong các prompt phức tạp, cấu trúc phán đoán điều kiện cho phép AI thực hiện các hành động khác nhau dựa trên các tình huống khác nhau. Việc sử dụng cấu trúc `if/else` cần có điều kiện và hành vi tương ứng rõ ràng để đảm bảo tính hoàn chỉnh của logic.
Cấu trúc vòng lặp như `for each item in list` hướng dẫn AI xử lý lặp lại các nội dung tương tự. Khi sử dụng vòng lặp, cần chú ý đặt điều kiện kết thúc hợp lý để tránh vòng lặp vô hạn.
Các toán tử logic `and`, `or`, `not` được sử dụng để kết hợp nhiều điều kiện, thực hiện các logic phán đoán phức tạp. Khi sử dụng, cần chú ý đến thứ tự ưu tiên của các toán tử, sử dụng dấu ngoặc đơn để xác định rõ thứ tự tính toán khi cần thiết.
Mẫu khớp có thể sử dụng các ký tự đại diện đơn giản `*` hoặc các biểu thức chính quy phức tạp hơn. Các mẫu này giúp AI nhận dạng và xử lý nội dung phù hợp với định dạng cụ thể, nhưng cần đảm bảo tính chính xác của mẫu để tránh khớp sai.
Ký hiệu chức năng đặc biệt
Chú thích đóng một vai trò quan trọng trong prompt, chú thích dòng bắt đầu bằng `#` và chú thích khối được bao bọc bởi `<!-- -->` sẽ không được AI xử lý, chỉ dành cho nhà phát triển đọc. Sử dụng chú thích hợp lý có thể nâng cao khả năng bảo trì của prompt.
Ký tự thoát `\` được sử dụng để hiển thị ký tự đặc biệt thay vì chức năng của nó. Khi bạn cần hiển thị các ký hiệu như `{{` trong đầu ra, hãy sử dụng `\\{\\{` để thoát ký tự.
Các ký hiệu phân cách như `---` hoặc `===` được sử dụng để phân chia các phần khác nhau trong văn bản dài, nâng cao khả năng đọc. Các ký hiệu phân cách này nên chiếm một dòng riêng, và tốt nhất là có các dòng trống trước và sau.
Đánh dấu trích dẫn `>` thường được sử dụng để đánh dấu nội dung được trích dẫn, giúp phân biệt nội dung gốc và nội dung trích dẫn. Sử dụng trích dẫn trong prompt có thể cung cấp thông tin tham khảo hoặc ví dụ cho AI.
Tóm tắt các phương pháp hay nhất
Khi sử dụng các hệ thống ký hiệu này, nguyên tắc quan trọng nhất là duy trì tính nhất quán và rõ ràng. Các thông tin cùng loại nên sử dụng cùng một phương pháp đánh dấu, tránh sử dụng lẫn lộn các hệ thống ký hiệu khác nhau. Việc sử dụng ký hiệu phải có chừng mực, quá nhiều đánh dấu ngược lại sẽ làm giảm khả năng đọc của prompt.
Hãy nhớ rằng, mục đích của các ký hiệu này là giúp AI hiểu và xử lý thông tin tốt hơn, chứ không phải vì ký hiệu mà sử dụng. Trong thực tế, nên chọn các ký hiệu phù hợp dựa trên nhu cầu cụ thể, và kiểm tra hiệu quả của chúng thông qua thử nghiệm.
Kinh nghiệm cá nhân
Nên sử dụng nhiều các từ `phải`, `cấm` để nhấn mạnh các lệnh cực kỳ quan trọng
Sử dụng `vui lòng`, `vui lòng không` để nhấn mạnh các lệnh quan trọng
Sử dụng `#`(sau đó phải có khoảng trắng) để nhấn mạnh và phân chia các lệnh bạn sắp đưa ra bằng `tiêu đề cấp 1`, tương tự như:
# Nhiệm vụ: Vui lòng tạo cho tôi một nhân vật, sau đây là các yêu cầu chi tiết của nhân vật:
# Yêu cầu (sử dụng dấu gạch ngang để liệt kê các yêu cầu của bạn):
-
-
-
Cấm xuất ra định dạng json, Markdown, v.v., chỉ cho phép sử dụng định dạng yaml tiếng Trung giản thể.
Được rồi, ví dụ tạo nhân vật ở trên chính là prompt định dạng mà tôi thường dùng. Các lệnh cho AI tốt nhất nên ở dạng nhấn mạnh cấm và yêu cầu rõ ràng, có thể giúp AI tạo ra nội dung bạn cần tốt hơn.
</Hướng dẫn Ký hiệu>
3 files
- .pngpng_cardspec 2.0original
625.0 KB512×768first seen 02e049f6b4224744
version main
- .jsonotherspec 2.0original
45.5 KBfirst seen 00fb51e053f39822
version main
- .pngpng_cardspec 2.0
529.7 KB512×768first seen 3b782b7a7c77c441
version main
Opens with the tab.