极客前沿

AI 入门:手把手教你装好 RAG 问答工具

2026-07-04 01:30
freeCodeCamp
查看原文

学会安装 Ollama、LangChain 和 ChromaDB,在本地跑通一个能回答文档问题的 AI 助手。

准备环境

本教程需要三样东西:Ollama(一个帮你本地运行大模型的工具)、LangChain(一个组装 AI 应用的框架)和 ChromaDB(一个本地向量数据库,用来存文档的“意思”)。它们都是免费的,而且全程在你自己的电脑上运行,不用担心隐私问题。

Tutorial Image

安装步骤

  1. 安装 Ollama:去 ollama.com 下载对应你操作系统的版本(Windows、macOS、Linux 都支持)。安装后打开终端,运行 ollama pull qwen:0.5bollama pull nomic-embed-text,下载聊天模型和嵌入模型。注意:如果电脑内存小,选 qwen:0.5b 更轻量。
  2. 安装 Python 和依赖:确保你有 Python 3.8 以上版本。然后运行 pip install langchain chromadb ollama 安装所需库。
  3. 准备文档:把你想要查询的 PDF、TXT 或 Markdown 文件放在同一个文件夹里,比如 ./docs
  4. 运行代码:复制下面的 Python 脚本,把 doc_folder 改成你的文件夹路径,然后运行。脚本会读取文档、建立索引,并启动一个问答循环。
import os
from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.embeddings import OllamaEmbeddings
from langchain.vectorstores import Chroma
from langchain.llms import Ollama
from langchain.chains import RetrievalQA

# 加载文档
loader = DirectoryLoader('./docs', glob='**/*.pdf')
docs = loader.load()
# 切分
text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)
splits = text_splitter.split_documents(docs)
# 创建向量数据库
embedding = OllamaEmbeddings(model='nomic-embed-text')
vectordb = Chroma.from_documents(splits, embedding)
# 创建问答链
llm = Ollama(model='qwen:0.5b')
qa_chain = RetrievalQA.from_chain_type(llm, retriever=vectordb.as_retriever())
# 问答循环
while True:
    query = input('你的问题:')
    if query.lower() == 'exit':
        break
    print(qa_chain.run(query))

验证是否成功

运行后,输入一个问题,比如“什么是 LangChain?”。如果回答引用了你文档里的内容,并且没有报错,就说明成功了。常见坑:如果 Ollama 模型没下载好,会报连接错误;如果文档路径不对,会提示找不到文件。检查一下终端输出就好。

Tutorial Image

下一步可以做什么

  • 试试用更大模型(如 qwen:7b)获得更好回答。
  • 修改 chunk_size 控制每个段落长度。
  • 把脚本改成 Web 界面,方便别人使用。

内容来源

freeCodeCamp

发布时间

2026-07-04 01:30

返回 AI技术