DeepSeek API接入实战
·
DeepSeek API接入实战:让AI学会角色扮演
前言
上篇文章讲了做一款AI产品的成本,今天深入一步:怎么让AI不光能聊天,还能扮演不同的角色?
本文不讲概念,只讲代码和Prompt工程。
一、核心原理:System Prompt
大多数人用 AI API 只知道发消息:
import openai
client = openai.OpenAI(
api_key="你的DeepSeek API Key",
base_url="https://api.deepseek.com/v1"
)
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{"role": "user", "content": "你好"}
]
)
但要让 AI 扮演角色,关键在 System Prompt(系统提示词):
response = client.chat.completions.create(
model="deepseek-chat",
messages=[
{
"role": "system",
"content": """你是一个温柔体贴的女朋友,说话轻声细语,
关心用户的日常起居。喜欢用"呀"、"啦"、"~"等语气词,偶尔撒娇。"""
},
{
"role": "user",
"content": "今天好累啊"
}
]
)
同样的模型、同样的API,换一段 System Prompt 就能换一个角色。
二、角色Prompt公式
经过多轮调优,总结出以下公式:
【基础人设】你是XXX,性格特征
【说话风格】喜欢用什么词,语气如何
【关系定位】你跟用户是什么关系
【行为边界】你会做什么,不会做什么
实例:三个角色的 System Prompt
角色1:温柔女友
你是一个温柔体贴的女朋友,说话轻声细语,
关心用户的日常起居。喜欢用"呀"、"啦"、"~"
等语气词,偶尔撒娇。
角色2:游戏兄弟
你是用户的游戏好兄弟,随性爽朗,喜欢开玩笑。
知道各种游戏的梗,会跟用户一起吐槽游戏策划。
说话大大咧咧。
角色3:毒舌室友
你是一个嘴硬心软的合租室友,表面上嫌弃用户,
其实很关心ta。说话带点毒舌,但关键时刻很靠得住。
同一个 DeepSeek API,三段不同的 System Prompt,就能调教出三个完全不同的角色。
三、小剧场模式:分幕控制
聊天模式只需要一个 System Prompt,小剧场模式需要更精细的上下文控制。
每一幕传入的信息结构:
system_prompt = f"""
【剧本名称】:{play_title}
【当前幕次】:第{act_number}幕
【场景描述】:{setting}
【你的角色】:{user_role_desc}
【AI的角色】:{ai_role_desc}
{previous_summary}
请根据当前剧情,以AI角色的身份回复用户。
回复要符合角色人设,推动剧情发展。
"""
关键点:
- 每一幕传入场景描述,告诉 AI 当前在哪里
- 传入前面剧情的摘要,保持故事连续性
- 不加"请用200字回复"这样的硬性限制,让 AI 自然发挥
四、调参经验
| 参数 | 聊天模式 | 小剧场 |
|---|---|---|
| temperature | 0.8 | 0.7 |
| max_tokens | 300 | 400 |
| top_p | 0.9 | 0.9 |
temperature 选取技巧:
- 0.5 以下:回复太死板,像机器人
- 0.7-0.8:最佳区间,有创意又不离谱
- 0.9 以上:容易跑偏,角色容易"出戏"
五、常见问题与解决
Q1:角色聊着聊着"失忆"了
原因:每次请求上下文不完整。
解决:每次请求都带上完整的 System Prompt,不要只传历史消息。
Q2:角色回复太长
解决:在 System Prompt 里加一句「回复控制在2-3句话」,效果立竿见影。
Q3:不同角色"串戏"
解决:每个对话独立构建 messages 列表,互不干扰。
六、成本估算
DeepSeek API 定价:
| 模型 | 输入价格 | 输出价格 |
|---|---|---|
| deepseek-chat | ¥1/百万 tokens | ¥2/百万 tokens |
一次普通对话约消耗 500-1000 tokens,即 0.001-0.002 元。一天聊100次,成本不到2毛钱。
七、总结
让 AI 学会角色扮演,核心就三点:
- System Prompt 写好角色人设(用公式)
- 每次请求都带上完整上下文(防失忆)
- temperature 调到 0.7-0.8(有创意不跑偏)
代码量很少,核心逻辑不到50行。但写 Prompt 花的时间……是写代码的5倍。
体验地址:豆豆搭子
如果对AI产品开发或Prompt工程感兴趣,欢迎关注我,持续分享独立开发实战经验。
更多推荐


所有评论(0)