极客前沿

零基础搭建本地 AI:让 AI 记住你的项目(RAG + Ollama 入门)

2026-07-20 01:31
DEV Ollama
查看原文

学会用 Ollama 和本地 RAG 搭建一个能记住你项目文档的 AI 助手,无需云服务,15 分钟搞定。

每次跟 AI 聊天都要重新粘贴项目说明?别烦了,我们用一个叫 RAG(检索增强生成)的技术,让 AI 能自己从你的文档里找答案。简单说,就是把你的笔记、项目文档存进一个本地数据库,AI 提问时自动检索相关内容,再也不用手动喂上下文。

Tutorial Image

准备工作:你需要什么?

  • 一台电脑,至少 8GB 内存(Mac Mini、Windows 笔记本都行)
  • 安装 Ollama(一个让你在本地跑大模型的工具)
  • 安装 Python(用来运行脚本)
  • 一点耐心,跟着步骤走就行

第一步:安装 Ollama 并下载模型

  1. 去 Ollama 官网(ollama.ai)下载并安装。Windows 和 Mac 都有安装包。
  2. 打开终端(Mac 叫“终端”,Windows 叫“命令提示符”或 PowerShell)。
  3. 输入命令:ollama pull llama3.2,下载一个轻量模型(约 2GB)。等它跑完,你的本地 AI 就准备好了。
  4. 测试一下:输入 ollama run llama3.2,然后随便问个问题,比如“你好”。看到回复就说明成功了。

第二步:安装 Python 和必要的库

  1. 如果你没有 Python,去 python.org 下载 3.10 以上版本,安装时记得勾选“Add Python to PATH”。
  2. 打开终端,输入以下命令安装所需库(一行一行来):
    pip install chromadb sentence-transformers ollama
  3. ChromaDB 是一个向量数据库,专门用来存文档的“意思”,这样搜索时能按语义找,而不是只靠关键词。

第三步:把你的文档喂给 AI

  1. 把你项目里的 .txt、.md 文件都放在一个文件夹里,比如 my_docs
  2. 创建一个 Python 脚本(比如 index.py),内容大致如下(别怕,复制粘贴就行):
    import os
    from chromadb import PersistentClient
    from sentence_transformers import SentenceTransformer
    
    client = PersistentClient(path="./db")
    collection = client.get_or_create_collection("my_projects")
    model = SentenceTransformer('all-MiniLM-L6-v2')
    
    docs = []
    for file in os.listdir('my_docs'):
        with open(f'my_docs/{file}', 'r') as f:
            docs.append(f.read())
    
    embeddings = model.encode(docs).tolist()
    ids = [str(i) for i in range(len(docs))]
    collection.add(embeddings=embeddings, documents=docs, ids=ids)
    print("索引完成!")
  3. 在终端运行:python index.py。等一会,你的文档就被存进数据库了。

第四步:用 AI 提问

  1. 再创建一个脚本 ask.py
    import chromadb
    from sentence_transformers import SentenceTransformer
    import ollama
    
    client = chromadb.PersistentClient(path="./db")
    collection = client.get_collection("my_projects")
    model = SentenceTransformer('all-MiniLM-L6-v2')
    
    query = input("你的问题:")
    q_emb = model.encode([query]).tolist()
    results = collection.query(query_embeddings=q_emb, n_results=3)
    context = "\n".join(results['documents'][0])
    
    response = ollama.chat(model='llama3.2', messages=[
        {'role': 'system', 'content': f'根据以下内容回答:{context}'},
        {'role': 'user', 'content': query}
    ])
    print(response['message']['content'])
  2. 运行 python ask.py,输入问题,比如“这个项目的架构是什么?”AI 就会从你的文档里找答案。

常见坑提醒

  • 如果 Python 报错“找不到模块”,检查你是否在正确的虚拟环境里,或者用 pip list 看看有没有装全。
  • Ollama 模型下载慢?换个网络,或者用 ollama pull llama3.2:1b 下载更小的版本(1B 参数,速度快但回答质量低一点)。
  • 索引时如果文件太多,内存可能不够。建议一次只索引 100 个文档左右,或者分批处理。

下一步可以做什么?

现在你的 AI 已经能记住项目了。你可以:

  • 定时更新索引:用系统定时任务(Windows 的任务计划程序或 Mac 的 crontab)每小时跑一次 index.py,让 AI 跟上你的最新代码。
  • 做个网页界面:用 Flask 或 Streamlit 搭个简单的聊天框,不用每次敲命令。
  • 索引 Git 提交:每次提交代码时自动更新索引,让 AI 知道你刚改了啥。

这套系统完全本地运行,不花钱,不联网。15 分钟装好,以后 AI 就记得你昨天说过什么了。

内容来源

DEV Ollama

发布时间

2026-07-20 01:31

返回 AI技术