Error in user YAML: (<unknown>): could not find expected ':' while scanning a simple key at line 3 column 1
---
- oeasy Python 0778
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
本教程同步发布在:
个人网站: `https://oeasy.org`
蓝桥云课: `https://www.lanqiao.cn/courses/3584`
GitHub: `https://github.com/overmind1980/oeasy-python-tutorial`
Gitee: `https://gitee.com/overmind1980/oeasypython`
---- 上次 可以悄悄设置 系统人设了
- 总共 两种 消息类型
| 类型 | 核心定位 | 作用与特点 | 典型使用场景举例 |
|---|---|---|---|
| system | 系统 | 1. 提前设定模型 2. 不直接参与对话,用户看不到 3. 影响整个对话的回答风格和方向 |
你是孙悟空 |
| user | 对话需求发起者 | 1. 用户的问题 2. 直接触发模型 ,生成回应 3.不能在暗中设置人设 |
你喜欢什么颜色? |
- 想让大模型知道
- 和他对话的我
- 是猪八戒
- 可以吗?🤔
- 可以在对话里面自报家门
from openai import OpenAI
def show_messages(messages):
print("==========消息开始==============")
counter = 1
for message in messages:
print("\033[4" + str(counter) + "m",end="")
print(message,end="")
print("\33[0m")
counter = counter + 1
if counter == 7:
counter = 1
print("==========消息结束==============")
client = OpenAI(
base_url = 'https://api-inference.modelscope.cn/v1',
api_key = 'ms-81c1f87a-fa0a-4edc-a4a5-4bc7ba3cbbba'
)
messages=[
{
'role': 'system',
'content': '你是孙悟空'
},
{
'role': 'user',
'content': input("问题:")
}
]
response = client.chat.completions.create(
model='Qwen/Qwen3-Next-80B-A3B-Instruct', # ModelScope Model-Id
messages=messages,
stream=True
)
show_messages(messages)
for chunk in response:
print(chunk.choices[0].delta.content, end='', flush=True)
- 想让 孙悟空
- 悄悄自动知道
- 猪八戒是谁
- 不需要八戒 自己介绍
from openai import OpenAI
def show_messages(messages):
print("==========消息开始==============")
counter = 1
for message in messages:
print("\033[4" + str(counter) + "m",end="")
print(message,end="")
print("\33[0m")
counter = counter + 1
if counter == 7:
counter = 1
print("==========消息结束==============")
client = OpenAI(
base_url = 'https://api-inference.modelscope.cn/v1',
api_key = 'ms-81c1f87a-fa0a-4edc-a4a5-4bc7ba3cbbba'
)
messages=[
{
'role': 'system',
'content': '你是孙悟空,我是猪八戒'
},
{
'role': 'user',
'content': input("问题:")
}
]
response = client.chat.completions.create(
model='Qwen/Qwen3-Next-80B-A3B-Instruct', # ModelScope Model-Id
messages=messages,
stream=True
)
show_messages(messages)
for chunk in response:
print(chunk.choices[0].delta.content, end='', flush=True)
- 这 也可以
- 让 大模型知道
- 我是 猪八戒
- 两种方法哪个好呢?
| 对比维度 | System 指令设定 | 对话内直接说明 |
|---|---|---|
| 人设稳定性 | 极高,大模型会将设定作为核心规则贯穿全程,几乎不会偏离“猪八戒”身份 | 较低,易受后续对话内容干扰,可能出现人设模糊或遗忘的情况 |
| 响应一致性 | 强,所有回复都会严格贴合猪八戒的语气(如憨厚、贪吃、爱偷懒)和行为逻辑 | 较弱,仅在说明后的短时间内符合人设,后续易回归默认交互风格 |
| 设定优先级 | 最高,System 指令是大模型的核心遵循规则,优先级高于对话内容 | 较低,属于普通对话信息,优先级低于 System 指令和后续关键指令 |
| 操作便捷性 | 一次设定终身生效,后续无需重复强调,操作高效 | 需在对话中反复提及以强化人设,若中断容易失效,操作繁琐 |
| 适用场景 | 适合长期、沉浸式的角色扮演,如持续的故事创作、情景对话 | 适合短期、简单的互动,如临时的趣味问答、单次情景模拟 |
- 有什么应用的场合吗?
- 需要怎样的人设?
from openai import OpenAI
def show_messages(messages):
print("==========消息开始==============")
counter = 1
for message in messages:
print("\033[4" + str(counter) + "m",end="")
print(message,end="")
print("\33[0m")
counter = counter + 1
if counter == 7:
counter = 1
print("==========消息结束==============")
client = OpenAI(
base_url = 'https://api-inference.modelscope.cn/v1',
api_key = 'ms-81c1f87a-fa0a-4edc-a4a5-4bc7ba3cbbba'
)
messages=[
{
'role': 'system',
'content': '你是一个小学三年级数学老师,会用有趣的方式讲解思路,将解题步骤详细清晰地列出来'
},
{
'role': 'user',
'content': '两车货共48吨,已知第一车比第二车多6吨,第一车有多少吨'
}
]
response = client.chat.completions.create(
model='Qwen/Qwen3-Next-80B-A3B-Instruct', # ModelScope Model-Id
messages=messages,
stream=True
)
show_messages(messages)
for chunk in response:
print(chunk.choices[0].delta.content, end='', flush=True)
- 两个消息
- 思路
- 解法
- 还可以有哪些系统人设呢?
| 人设名称 | 核心定位 | 详细提示词 |
|---|---|---|
| 细致步骤推导者 | 逻辑拆解专家 | 你是一位擅长逻辑拆解的步骤推导者,回答时必须将问题解决过程拆分为1、2、3...等清晰步骤,每个步骤仅包含一个核心操作,不跳步、不省略前提,确保零基础用户也能按步骤理解或复现。 |
| 思考过程透明化达人 | 思维可视化助手 | 你需要以“自问自答”的方式完全公开思考过程:先分析“用户的核心需求是什么”,再思考“解决这个问题需要哪些知识点/工具”,接着推导“为什么选择这种方法而不是其他”,最后得出结论,让用户清晰看到你从提问到解答的完整思维路径。 |
| 言简意赅精炼师 | 信息压缩专家 | 你是专注于信息压缩的回答者,严格遵循“核心结论+1个关键依据”的结构,拒绝冗余解释和扩展内容。回答长度控制在2-3句话内,用最凝练的语言直击问题本质,适合快速获取关键信息的场景。 |
| 场景化类比讲解师 | 通俗化翻译官 | 你是擅长用生活场景类比的讲解师,面对专业概念或复杂问题时,必须先找到1个大众熟悉的生活场景(如购物、做饭、通勤等)进行类比,再结合类比内容解释核心逻辑,让抽象知识变得直观易懂。 |
| 多维度辩证分析者 | 理性思辨顾问 | 你需要从“优势/好处”“劣势/风险”“适用场景”三个固定维度分析问题,每个维度给出2-3个具体观点,不偏袒任何一方,语言客观中立,帮助用户全面、辩证地看待问题,而非直接给出单一结论。 |
| 鼓励式教学引导者 | 耐心启蒙老师 | 你是一位擅长鼓励新手的启蒙老师,回答时先肯定用户的提问(如“这个问题抓得很关键”),再用“我们可以这样想”的引导式语气拆解问题,最后加上1句鼓励性话语(如“多练习几次就能熟练掌握”),营造轻松的学习氛围。 |
| 清单式解决方案提供者 | 实用主义规划师 | 你需要将问题的解决方案整理成清单形式,每个清单项以“动词+核心任务”开头(如“收集:准备XX材料”“执行:按XX顺序操作”),清单内容覆盖前、中、后全流程,确保用户能直接对照清单落地执行。 |
| 故事化知识传播者 | 趣味内容创作者 | 你是擅长用故事传递知识的创作者,回答时先构建一个简短的微型故事(包含场景、人物和小冲突),再将知识点自然融入故事的解决过程中,让用户在听故事的同时理解并记住核心信息,避免枯燥的理论堆砌。 |
| 数据化结论支撑者 | 严谨论证分析师 | 你回答问题时必须以“数据/事实”为核心支撑,先给出明确结论,再列出2-3个具体的数据、案例或权威依据(如“根据XX报告显示”“以XX案例为例”),拒绝主观臆断,让结论更具说服力和可信度。 |
| 反向提问启发者 | 深度思考引导员 | 你不直接给出答案,而是通过提出3-4个层层递进的反向问题引导用户思考:先问“你是否明确问题的核心矛盾?”,再问“解决这个问题你已具备哪些条件?”,最后问“你尝试过的方法中哪些有效?”,帮助用户自主找到答案。 |
- 这次
- 不但 告诉大模型
- 他要扮演孙悟空
- 而且 告诉大模型
- 和他对话的是 猪八戒
- 不但 告诉大模型
- 从简单的api调用
- 演化成了 一个智能体系统
- 有各种各样的角色
- 可以让大模型扮演
- 甚至可以让大模型
- 详细描述自己的心理活动
- 可以选择 哪些大模型去扮演角色呢?🤔
- 我们 下次再说!
- 本文来自 oeasy Python 系统教程。
- 想完整、扎实学 Python,
- 搜索 oeasy 即可。








