写长篇小说记不住配角设定?用 Dify 打造创作记忆库

2025-12-12 09:07:04
文章摘要
写长篇记不住角色、地点等设定?Dify 知识库能存这些内容,需查时 AI 秒回,本文详解了注册、建知识库、创 AI 应用等步骤,不用再翻旧文档返工。

如果你正在写一部长篇小说或剧本,那你一定经历过这些时刻:

第 20 章精心塑造了一个性格鲜明的龙套角色,咖啡馆老板,身高 180cm,戴黑框眼镜,爱讲冷笑话。

第 60 章老张再次出场,你已经完全记不得他的名字,长什么样了,只能疯狂往前面翻找。

根据米勒定律,人类大脑的工作记忆容量只有7±2个信息单元,我们的记忆是有限的。

当你写到 50 万字时,前面 30 万字的细节已经模糊了。

通常我们怎么做?开个 Excel 表拉人设,费时费力。

一部长篇小说通常包含:

  • 字数:30-100 万字
  • 主要角色:10-30 个
  • 次要角色/龙套:50-200 个
  • 地点设定:20-50 个
  • 时间跨度:数月到数十年

今天给各位创作者安利一个神器,Dify(扣子同理)。简单说,我们要用它给你的 AI 装一个硬盘,把你的小说设定塞进去。以后你问它:“吴邪上次出场穿的啥?”它就能秒回,绝不瞎编。


目录


一、Dify 知识库

很多宝子平时习惯用 Deepseek 或者文心一言,他们的确好用,但最大的问题是 没有长期记忆

Dify 是一个免费的模型应用开发平台,其中的知识库功能,就是专门解决 "AI 没有记忆" 这个问题。

1.1 核心原理:RAG

当对话过长时:

你:第100章时林立什么境界
AI:林立是谁?(一脸懵逼)

使用 Dify 知识库后:

你:第100章时林立什么境界
Dify:正在检索"林立"相关信息...
     找到匹配内容:林立,炼气七层...

名词解释:

  • RAG:检索增强生成。简单说就是 先查资料,再回答
  • Embedding:向量化。把文字转成数字,让 AI 能快速找到相关内容。你不需要懂原理,只需要知道 它能帮你秒速查资料

二、为什么选 Dify?

理由一:完全免费且开源

  • Dify Cloud(在线版):每月 10000 次免费调用
  • 本地电脑版:完全免费,数据在自己服务器上

理由二:支持多种文件格式

  • TXT、DOCX、PDF、Markdown
  • 单个文件最大 15MB,单次可上传 5 个文件
  • 图片也能提取(JPG、PNG、GIF,< 2MB)

理由三:灵活的索引模式

  • 经济型:速度快,成本低,适合日常查询
  • 高质量:精度高,适合复杂设定查询

理由四:与主流大模型无缝对接

  • OpenAI(GPT-4、GPT-3.5)
  • Anthropic(Claude)
  • DeepSeek(V3、R1)
  • 国产模型(通义千问、文心一言、豆包等)

三、实战演练

我们以一个武侠小说《江湖往事》为例,手把手教你搭建知识库。

准备工作:整理你的创作资料

在开始之前,先把你的创作资料整理成以下文件(TXT 格式即可):

文件 1:人物设定.txt

# 主角
姓名:林啸天
年龄:28岁
外貌:身高185cm,剑眉星目,左脸颊有一道刀疤
性格:外冷内热,重情重义,但有仇必报
武功:玄冰掌(七成功力),轻功卓绝
背景:天山派第三代弟子,师父是掌门林无尘
恋人:苏婉儿(青楼女子,第15章初遇)

主要反派

姓名:铁血盟主·黑无常
年龄:55岁
外貌:身高190cm,满脸络腮胡,双目赤红
性格:阴狠毒辣,心机深沉
武功:铁血神功(大成),刀法独步天下
背景:20年前灭了林啸天全家,夺取《玄冰心法》

次要角色

姓名:咖啡馆老板·老张(现代穿越元素)
年龄:45岁
外貌:身高180cm,微胖,戴黑框眼镜
性格:话痨,爱讲冷笑话,实则深藏不露
秘密:前朝锦衣卫高手,隐退江湖开咖啡馆
初次出场:第20章,林啸天在咖啡馆疗伤

文件 2:地点设定.txt

# 天山派
位置:西域天山之巅,海拔4000米
建筑:青石砌成,共108间房屋,主殿名"凌霄殿"
特产:雪莲(可疗伤),寒冰剑(镇派之宝)
初次出场:第1章,林啸天童年回忆

黑市拍卖行

位置:长安城西三十里,地下三层
特色:每月初一午夜开市,交易违禁武功秘籍和奇珍异宝
守卫:八大金刚(每人都是一流高手)
初次出场:第35章,林啸天潜入寻找《玄冰心法》下半部

老张的咖啡馆

位置:长安城东街17号
装修:复古风,墙上挂满了古剑和字画
招牌:蓝山咖啡(实则掺了药材,能助人凝神)
初次出场:第20章

文件 3:时间线.txt

第1-5章:林啸天童年,天山派被灭(公元1850年)
第6-10章:林啸天隐姓埋名,拜入少林学艺(1850-1860年)
第11-15章:林啸天下山复仇,遇见苏婉儿(1860年)
第20章:林啸天在老张咖啡馆疗伤(1861年春)
第35章:黑市拍卖行夺宝(1861年秋)
第50章:决战黑无常(1862年冬)

步骤 1:注册 Dify 并创建知识库

1.1 注册 Dify 账号

访问 https://cloud.dify.ai/signin (也可以在塔猴搜索本地部署教程)。用邮箱注册,免费版足够个人使用。

注册页面

1.2 创建知识库

点击上方导航栏 "知识库" → 选择 "创建知识库"。

创建知识库

1.3 选择数据源

选择 "导入已有文本",然后上传刚才准备的 3 个 TXT 文件。

选择数据源

注意事项:

  • 单个文件最大 15MB(对于纯文本,足够容纳 50 万字)
  • 单次最多上传 5 个文件(如果文件多,可以分批上传)
  • 知识库创建后,数据源无法更改(所以文件命名要清晰)

步骤 2:选择索引模式(重点!)

上传文件后,系统会让你选择 "索引模式":

索引模式
模式 适用场景 成本 速度 精度
经济型 日常查询,简单设定
高质量 复杂设定,精细查询 较慢

如何选择?

选经济型的情况:

  • 你的设定比较简单(人物 < 50 个,地点 < 20 个)
  • 主要查询 "某个角色叫什么名字"、"某个地点在哪里" 这类基础信息
  • 预算有限,省钱

选高质量的情况:

  • 设定非常复杂(人物 > 50 个,地点 > 30 个,时间线交错)
  • 需要查询 "A 角色和 B 角色的关系"、"C 地点发生过哪些事件" 这类关联信息
  • 对精度要求极高,不能出错

实测对比(以人物设定.txt 为例):

查询问题 经济型结果 高质量结果
"林啸天的师父是谁?" ✅ 正确:林无尘 ✅ 正确:林无尘
"老张的咖啡馆在哪条街?" ✅ 正确:东街 17 号 ✅ 正确:东街 17 号
"林啸天和苏婉儿是在第几章相遇的?" ❌ 未找到(信息分散) ✅ 正确:第 15 章
"天山派被灭是哪一年?" ✅ 正确:1850 年 ✅ 正确:1850 年,并补充细节

结论:如果你的查询大多是 单点信息,用经济型。如果需要 关联查询,用高质量。 对于已经有 10 万字的长篇创作,我推荐 高质量模式,虽然贵一点,但能避免前后矛盾。


步骤 3:配置分段规则

上传文件后,Dify 会把长文本 切成小段(分段),以便 AI 快速检索。

分段规则配置:

分段配置
  • 自动分段(推荐):Dify 根据段落、标题自动切分
  • 自定义分段:你可以设置 "按多少字切分"、"按标识符切分"

最佳选择: 如果你的文件结构清晰(用了 # 标题标记),选 自动分段。 如果文件是一整段文字,建议选 自定义分段,每 500-1000 字切一段。

分段预览

步骤 4:配置嵌入模型(Embedding 模型)

什么是嵌入模型? 简单说,就是 把文字转成数字 的工具,让 AI 能快速匹配相关内容。

嵌入模型

步骤 5:创建 AI 应用

知识库搭建完成后,接下来创建一个 AI 应用,把知识库关联上去。

5.1 创建聊天助手

点击上方 "工作室" → "创建应用" → 选择 "聊天助手"。

创建助手

5.2 配置应用信息

  • 名称:"江湖往事创作助手"
  • 描述:"帮我记住《江湖往事》的所有人物、地点、时间线"

5.3 关联知识库

在开始节点这里 添加 知识检索,添加上传的知识库。

关联知识库

5.4 编写提示词

编写提示词

在 LLM 设置里,输入以下提示词:

# 角色
你是《江湖往事》的创作助手,负责帮作者记住所有人物、地点、时间线设定。

能力

  1. 当作者询问某个角色的信息时,从知识库中检索并完整回答(姓名、年龄、外貌、性格、武功、背景)
  2. 当作者询问某个地点时,提供详细描述(位置、建筑、特色、初次出场章节)
  3. 当作者询问某个事件的时间时,从时间线文件中查找
  4. 如果检索不到相关信息,明确告知"知识库中未找到该信息"

回复风格

  • 简洁明了,直接给出答案
  • 如果信息较多,用列表形式展示
  • 在答案末尾注明"来源:人物设定.txt 第X段"

限制

  • 只回答知识库中已有的设定,不要编造
  • 不要给出创作建议(除非作者明确要求)

5.5 测试应用

测试应用1

点击预览,输入测试问题: 你:林啸天的人设? 如果 AI 能准确回答,说明知识库配置成功!

测试应用2

5.6 发布应用

点击右上角 发布 即可更新并保存。


四、进阶技巧:让知识库更智能

技巧 1:使用元数据筛选

如果你的小说有多条时间线(如《三体》的地球线和三体星线),可以给每个文本片段打 标签

操作步骤:

  1. 在上传文件时,点击 添加元数据
  2. 设置字段,例如:
    • 时间线:地球线 / 三体星线
    • 章节范围:1-20 章 / 21-50 章
    • 类型:人物 / 地点 / 事件
  3. 在应用中启用 "元数据筛选":
# 提示词示例
当作者询问"地球线的角色"时,只检索元数据中`时间线=地球线`的内容。

技巧 2:定期更新知识库

随着创作进行,设定会不断变化。Dify 支持 增量更新

  • 方式一:追加文件 在知识库页面,点击 添加文档#,上传新文件(如第 51-100 章补充设定.txt)。
  • 方式二:修改分段 如果某个角色的设定改了,可以直接在知识库中找到对应分段,点击 编辑 修改内容。

技巧 3:与大模型 API 对接

如果你想在写作软件中直接调用知识库,可以用 Dify 的 API 接口。

简单示例(Python):

import requests

url = "https://api.dify.ai/v1/chat-messages"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"query": "老张的咖啡馆在哪条街?",
"user": "writer_001"
}

response = requests.post(url, headers=headers, json=data)
print(response.json()[‘answer’])

这样,你在写作时就能一键查询设定,无需切换软件。

技巧 4:多知识库协同

如果你同时在写多部小说,可以为每部作品创建独立的知识库:

  • 知识库 1:《江湖往事》
  • 知识库 2:《星际迷航》
  • 知识库 3:《末日求生》

在创建应用时,可以选择 "只关联某个知识库",避免混淆。


五、结语

创作者最大的浪费,就是已经写出来的设定,却因为记不住而前后矛盾,甚至 返工重写

Dify 知识库,就是把你的 创作记忆外挂

  • 你写的每一个角色、每一个地点、每一条时间线,都永久存储
  • AI 随时帮你调取,再也不用翻 Word 文档
  • 前后矛盾?不存在的,AI 会提醒你 第 X 章的设定是这样的

附录:常见问题

Q1:Dify 支持哪些文件格式? A:TXT、DOCX、PDF、Markdown。推荐用 TXT(最稳定)或 Markdown(支持格式化)。

Q2:知识库创建后能修改吗? A:无法更换数据源(如从 TXT 换成 PDF),但可以追加新文件、编辑现有分段内容。

Q3:如果 AI 检索不到信息怎么办? A:可能是分段太细或太粗,建议调整分段规则。也可以降低 "Score 阈值"(如从 0.7 降到 0.5)。

Q4:可以导出知识库吗? A:可以,Dify 支持导出为 JSON 格式,方便备份或迁移。

Q5:自托管版和云端版有什么区别? A:功能一样,区别在于:

  • 云端版:开箱即用,但数据在 Dify 服务器上
  • 自托管版:数据在自己服务器上,更安全,但需要懂 Docker 部署

Q6:可以分享知识库给合作者吗? A:可以,在知识库设置中点击 "分享",生成一个链接或 API Key,其他人可以查询(但不能修改)。


声明: 本文为技术教程,不涉及任何商业推广。文中提到的所有工具均为开源或免费/付费公开产品。

声明:该内容由作者自行发布,观点内容仅供参考,不代表平台立场;如有侵权,请联系平台删除。