利用ai搭建本地知识库 ollama+anything LLM+Deepseek在windows上本地部署、投喂素材、编程交互
目前网上的教程只教到如何部署deepseek模型,但这个ai工具不投喂素材学习,就如同一个没有经验的神童一样,空有智力没有知识。接下来除了deepseek部署外,我还会介绍如何投喂文档素材进行学习,以及如何使用python编程交互。普通电脑建议选择选择“1.5b”或者“7b”,对电脑性能非常自信可以选择“14b”“32b”,至于“70b”“671b”,家用电脑还是不要尝试了。下载安装,也是毫无难度
Deepseek本地部署适合的场景是数据不能公开,需要建立私有知识库,代替自己书写论文专利或者其他有保密要求的文档的情况;或者断网环境不能访问外部大模型工具,在内网使用大模型;亦或者是调教电子魅魔(嘿嘿嘿)。
目前网上的教程只教到如何部署deepseek模型,但这个ai工具不投喂素材学习,就如同一个没有经验的神童一样,空有智力没有知识。接下来除了deepseek部署外,我还会介绍如何投喂文档素材进行学习,以及如何使用python编程交互。都没什么难度,无论学没学过计算机都可以实现。
一、Deepseek部署
这个网上教学很多,我简单一讲,基本都是先下载安装ollama
https://ollama.com/
安装完成后运行cmd 安装模型库
输入:
ollama run deepseek-r1:1.5b
下载安装模型
普通电脑建议选择选择“1.5b”或者“7b”,对电脑性能非常自信可以选择“14b”“32b”,至于“70b”“671b”,家用电脑还是不要尝试了。
二、Deepseek投喂素材建立个人知识库
工具 AnythingLLM 下载安装,也是毫无难度,家用windows电脑选择windows x64版本安装即可
https://anythingllm.com/
安装后打开即可使用



通过此区域进行投喂数据,并同步。
同步完成之后即可进行问答操作,记得投喂完数据后创建新的会话

三、使用python交互
这部分需要有简单的python基础,此处可参考了ollama的github文档
核心方法:
import requests
import json
from pathlib import Path
def main():
# 项目路径和文件夹创建
project_dir = Path('D:\\novel')
if not project_dir.exists():
project_dir.mkdir()
novel_path = project_dir / 'novel.txt'
if not novel_path.exists():
novel_path.touch()
# 存在与否判断(如果不存在则创建)
open(novel_path, 'a').close()
# 项目参数
API_BASE_URL = 'http://localhost:11434'
API_PATH = '/api/generate'
prompt_all=""
def get_next_chapter(prompt):
"""向 Ollama 模型发送请求并获取下一个章节内容"""
model_name = 'deepseek-r1:1.5b' # 替换为你使用的模型名称
data = {
"model": model_name,
"prompt": prompt,
"stream": False
}
response = requests.post(
f"{API_BASE_URL}{API_PATH}",
json=data
)
if response.status_code == 200:
# 使用response.json()来解析JSON数据
response_data = response.json()
# 从解析后的字典中获取"response"字段的值
return response_data["response"]
else:
raise ValueError(f"请求失败,状态码:{response.status_code}")
def generate_chapter(chapter_id):
"""生成指定章节内容"""
prompt = f"小说之前的内容: {prompt_all} ,生成小说下一章"
return get_next_chapter(prompt)
tmp = (f"你根据我的指令生成小说,以此为故事的开头,写一篇西方玄幻悬疑小说,融汇克苏鲁风格、西方魔幻元素、第一次工业革命时代风情和蒸汽朋克情怀,篇幅30章:"
f"蒸汽与机械的浪潮中,谁能触及非凡。历史和黑暗的迷雾里,又是谁在耳语。我从诡秘中醒来,睁眼看见这个世界:"
f"枪械,大炮,巨舰,飞空艇,差分机;魔药,占卜,诅咒,倒吊人,封印物……光明依旧照耀,神秘从未远离,这是一段“愚者”的传说。"
f"黑铁纪元,七位正统神灵与四大国统治着北大陆。蒸汽与机械的浪潮中,工业化社会迅速发展成形,而在看似平静繁荣的表面下,则是一个神秘扭曲,乃至疯狂的非凡世界。")
firstprompt=get_next_chapter(tmp)
prompt_all=prompt_all+firstprompt
print(firstprompt)
with open(novel_path, 'a', encoding='utf-8') as f:
f.write(f"\n\n{firstprompt}\n\n")
# 与你之前的代码结合使用,根据需要调用生成方法
current_chapter = 1 # 初始化章节计数器
while True:
print(f"正在生成第{current_chapter}章...")
chapter_content = generate_chapter(current_chapter)
prompt_all = prompt_all + chapter_content
print(chapter_content)
# 将内容追加到文件中
with open(novel_path, 'a', encoding='utf-8') as f:
f.write(f"\n\n[第{current_chapter}章]\n{chapter_content}\n\n")
current_chapter += 1
if current_chapter > 30:
break
print("\n小说生成完成!")
if __name__ == "__main__":
main()
更多推荐




所有评论(0)