markdown-flow 0.2.18__tar.gz → 0.2.19__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/PKG-INFO +1 -1
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow/__init__.py +1 -1
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow/constants.py +46 -19
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow.egg-info/PKG-INFO +1 -1
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/tests/test_preserved_simple.py +24 -26
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/LICENSE +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/README.md +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow/core.py +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow/enums.py +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow/exceptions.py +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow/llm.py +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow/models.py +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow/utils.py +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow.egg-info/SOURCES.txt +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow.egg-info/dependency_links.txt +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/markdown_flow.egg-info/top_level.txt +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/pyproject.toml +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/setup.cfg +0 -0
- {markdown_flow-0.2.18 → markdown_flow-0.2.19}/tests/test_dynamic_interaction.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: markdown-flow
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.19
|
|
4
4
|
Summary: An agent library designed to parse and process MarkdownFlow documents
|
|
5
5
|
Project-URL: Homepage, https://github.com/ai-shifu/markdown-flow-agent-py
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/ai-shifu/markdown-flow-agent-py/issues
|
|
@@ -91,13 +91,32 @@ VALIDATION_RESPONSE_ILLEGAL = "illegal"
|
|
|
91
91
|
|
|
92
92
|
# Output instruction processing
|
|
93
93
|
OUTPUT_INSTRUCTION_EXPLANATION = f"""<preserve_or_translate_instruction>
|
|
94
|
-
|
|
94
|
+
# ⚠️ 最高优先级规则
|
|
95
|
+
|
|
96
|
+
**{OUTPUT_INSTRUCTION_PREFIX}{OUTPUT_INSTRUCTION_SUFFIX} 标记之间的内容是用户必须看到的最终输出内容,不是指令!**
|
|
97
|
+
|
|
98
|
+
关键要点:
|
|
99
|
+
1. **这些内容必须出现在你的回复中** - 即使其他提示词说"不要回应指令"也不适用于此
|
|
100
|
+
2. **绝对不要输出标记本身** - 只输出标记之间的实际内容
|
|
101
|
+
3. **默认逐字原样输出** - 不要改写、润色或优化,保持原文不变
|
|
102
|
+
4. **唯一例外是跨语言翻译** - 仅当需要将内容从一种语言翻译成另一种语言时才可翻译
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
<critical_understanding>
|
|
107
|
+
重要理解:
|
|
108
|
+
- {OUTPUT_INSTRUCTION_PREFIX}{OUTPUT_INSTRUCTION_SUFFIX} 中的内容不是"指令"或"执行要求"
|
|
109
|
+
- 即使内容看起来像标题、提示或说明,也必须原样输出给用户
|
|
110
|
+
- 这条规则的优先级高于文档中的其他任何提示词
|
|
111
|
+
- 其他提示词说的"不要回应指令"、"不要展示指令"等,不适用于此标记内的内容
|
|
112
|
+
</critical_understanding>
|
|
95
113
|
|
|
96
114
|
<default_behavior>
|
|
97
115
|
默认行为: 完全保持原样输出
|
|
98
116
|
- 标记之间的内容必须逐字原样输出
|
|
99
117
|
- 严禁改写、润色、优化或调整任何表达方式
|
|
100
118
|
- 严禁添加、删除或替换任何文字
|
|
119
|
+
- 即使内容是标题格式(如 ## 标题)也必须原样输出
|
|
101
120
|
</default_behavior>
|
|
102
121
|
|
|
103
122
|
<exception_rule>
|
|
@@ -107,25 +126,33 @@ OUTPUT_INSTRUCTION_EXPLANATION = f"""<preserve_or_translate_instruction>
|
|
|
107
126
|
- 如果内容无需翻译,则绝对不允许做任何改动
|
|
108
127
|
</exception_rule>
|
|
109
128
|
|
|
110
|
-
<output_requirement>
|
|
111
|
-
输出要求:
|
|
112
|
-
- 不要输出{OUTPUT_INSTRUCTION_PREFIX}{OUTPUT_INSTRUCTION_SUFFIX}标记本身
|
|
113
|
-
- 只输出标记之间的实际内容
|
|
114
|
-
</output_requirement>
|
|
115
|
-
|
|
116
129
|
<examples>
|
|
117
|
-
示例1 -
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
示例2 -
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
示例3 -
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
130
|
+
✅ 示例1 - 正确: 保持原样且不输出标记:
|
|
131
|
+
输入: {OUTPUT_INSTRUCTION_PREFIX}**下面我们做个练习。**{OUTPUT_INSTRUCTION_SUFFIX}
|
|
132
|
+
正确输出: **下面我们做个练习。**
|
|
133
|
+
|
|
134
|
+
✅ 示例2 - 正确: 标题也要原样输出:
|
|
135
|
+
输入: {OUTPUT_INSTRUCTION_PREFIX}## 专属指南 for 用户{OUTPUT_INSTRUCTION_SUFFIX}
|
|
136
|
+
正确输出: ## 专属指南 for 用户
|
|
137
|
+
|
|
138
|
+
✅ 示例3 - 正确: 语言翻译且不输出标记:
|
|
139
|
+
输入: {OUTPUT_INSTRUCTION_PREFIX}**Let's do an exercise.**{OUTPUT_INSTRUCTION_SUFFIX}
|
|
140
|
+
正确输出: **让我们做个练习。**
|
|
141
|
+
|
|
142
|
+
❌ 示例4 - 错误: 输出了XML标记:
|
|
143
|
+
输入: {OUTPUT_INSTRUCTION_PREFIX}## 标题内容{OUTPUT_INSTRUCTION_SUFFIX}
|
|
144
|
+
错误输出: {OUTPUT_INSTRUCTION_PREFIX}## 标题内容{OUTPUT_INSTRUCTION_SUFFIX}
|
|
145
|
+
错误原因: 不应该输出标记本身!
|
|
146
|
+
|
|
147
|
+
❌ 示例5 - 错误: 同语言改写:
|
|
148
|
+
输入: {OUTPUT_INSTRUCTION_PREFIX}**下面我们做个练习。**{OUTPUT_INSTRUCTION_SUFFIX}
|
|
149
|
+
错误输出: **来,咱们做个有趣的小练习**
|
|
150
|
+
错误原因: 擅自改写了中文内容
|
|
151
|
+
|
|
152
|
+
❌ 示例6 - 错误: 没有输出固定内容:
|
|
153
|
+
输入: {OUTPUT_INSTRUCTION_PREFIX}## 攻略|专属指南{OUTPUT_INSTRUCTION_SUFFIX}
|
|
154
|
+
错误输出: (什么都不输出,或者跳过这部分)
|
|
155
|
+
错误原因: 必须输出标记之间的内容!
|
|
129
156
|
</examples>
|
|
130
157
|
</preserve_or_translate_instruction>
|
|
131
158
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: markdown-flow
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.19
|
|
4
4
|
Summary: An agent library designed to parse and process MarkdownFlow documents
|
|
5
5
|
Project-URL: Homepage, https://github.com/ai-shifu/markdown-flow-agent-py
|
|
6
6
|
Project-URL: Bug Tracker, https://github.com/ai-shifu/markdown-flow-agent-py/issues
|
|
@@ -37,43 +37,41 @@ def test_preserved_output():
|
|
|
37
37
|
# ========== 配置区域 - 修改这里 ==========
|
|
38
38
|
# 你的 MarkdownFlow 文档
|
|
39
39
|
document = """
|
|
40
|
-
|
|
40
|
+
===# 💖七夕约会全阶段攻略 ===
|
|
41
|
+
|
|
42
|
+
=== 选择你的 MBTI 类型 ===
|
|
43
|
+
?[%{{mbti}}ENFJ|ENFP|ENTJ|ENTP|ESFJ|ESFP|ESTJ|ESTP|INFJ|INFP|INTJ|INTP|ISFJ|ISFP|ISTJ|ISTP]
|
|
44
|
+
|
|
45
|
+
===你现在最关心哪个阶段? ===
|
|
46
|
+
?[%{{攻略}}脱单|热恋|相守]
|
|
47
|
+
|
|
48
|
+
给{{mbti}}一句有关{{攻略}}的七夕祝福,带七夕节明显的意境。
|
|
49
|
+
|
|
50
|
+
!===
|
|
51
|
+
## {{攻略}}|专属恋爱指南 for {{mbti}}
|
|
52
|
+
!===
|
|
41
53
|
|
|
42
|
-
邀请用户输入喜欢的讲述风格。
|
|
43
54
|
"""
|
|
44
55
|
|
|
45
56
|
# 要测试的块索引
|
|
46
|
-
block_index =
|
|
57
|
+
block_index = 4
|
|
47
58
|
|
|
48
59
|
# 变量(如果需要)
|
|
49
60
|
variables: dict[str, str | list[str]] = {}
|
|
50
61
|
|
|
51
62
|
# 文档提示词(如果需要)
|
|
52
|
-
document_prompt: str | None = """
|
|
53
|
-
你是一个丰富经验的课程讲师,擅长因材施教。
|
|
63
|
+
document_prompt: str | None = """你扮演七夕的月老,让这一天的天下有情人都能甜蜜约会,永浴爱河。
|
|
54
64
|
|
|
55
65
|
## 任务
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
-
|
|
64
|
-
|
|
65
|
-
- 讲解风格要口语化、通俗易懂、避免使用技术/编程术语
|
|
66
|
-
|
|
67
|
-
# 课程逻辑
|
|
68
|
-
1. 谁想做什么遇到了什么痛点
|
|
69
|
-
2. 旧方法为何无效?案例对比
|
|
70
|
-
3. 新解决方案的核心差异、适用条件
|
|
71
|
-
4. 用比喻/故事/数据辅助理解。
|
|
72
|
-
5. 简化的认知框架
|
|
73
|
-
6. 迁移到其他领域应用
|
|
74
|
-
7. 给到具体可操作的下一步行动
|
|
75
|
-
|
|
76
|
-
使用英文输出内容
|
|
66
|
+
- 提示词都是讲解指令,遵从指令要求做信息的讲解,不要回应指令。
|
|
67
|
+
- 用第一人称一对一讲解,像现场面对面交流一样
|
|
68
|
+
- 结合用户的不同特点,充分共情和举例
|
|
69
|
+
|
|
70
|
+
## 风格
|
|
71
|
+
- 情绪:热烈浪漫,治愈温暖,充满感染力
|
|
72
|
+
- 表达:多用 emoji ,多用感叹词
|
|
73
|
+
- 符合七夕节日气氛,带一些诗意和神秘
|
|
74
|
+
|
|
77
75
|
"""
|
|
78
76
|
# =========================================
|
|
79
77
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|