本地AI入门:用Ollama跑通你的第一个RAG问答系统
零基础学会安装Ollama、下载模型,并用200行代码在本地跑通一个文档问答系统,无需联网。
准备环境:你需要什么
要跟着本教程走,你只需要一台电脑(Windows/Mac/Linux都可以),以及基本的编程概念。我们会用到以下工具:
- Ollama:一个让你在本地运行AI模型的工具,就像在电脑上装个“AI引擎”,不用联网也能用。
- Node.js:一个运行JavaScript代码的环境,用来跑我们写的程序。
- SQLite:一个轻量级数据库,把你的文档内容存成一个小文件,方便搜索。
安装步骤:一步步来
- 下载并安装Ollama:访问 ollama.com,点击下载对应你系统的版本(Windows/Mac/Linux)。安装后打开终端(命令行),输入
ollama --version,看到版本号即成功。 - 下载一个AI模型:在终端输入
ollama pull nomic-embed-text,这个模型会把你的文字转换成“向量”(可以理解为数字指纹),方便搜索。下载过程会显示进度条,等它完成。 - 安装Node.js:如果还没装,去 nodejs.org 下载LTS版本。安装后终端输入
node --version检查。 - 创建项目文件夹:新建一个文件夹,比如
local-rag,在里面打开终端,运行npm init -y初始化项目。 - 安装依赖库:运行
npm install sqlite3 ollama,这会安装两个工具包,一个负责数据库,一个负责调用Ollama。
验证是否成功:跑通第一个问答
现在我们来写一段简单的代码,让AI回答你文档里的问题。创建一个新文件 index.js,复制以下内容:
const ollama = require('ollama').default;
const sqlite3 = require('sqlite3').verbose();
async function main() {
// 连接到数据库(没有则自动创建)
const db = new sqlite3.Database('knowledge.db');
// 创建一个表来存储文档
db.run('CREATE TABLE IF NOT EXISTS docs (id INTEGER PRIMARY KEY, content TEXT, embedding BLOB)');
// 插入一段示例文档
const doc = 'AI是人工智能的缩写,它让计算机能像人一样学习和决策。';
const response = await ollama.embeddings({ model: 'nomic-embed-text', prompt: doc });
const embedding = Buffer.from(new Float32Array(response.embedding).buffer);
db.run('INSERT INTO docs (content, embedding) VALUES (?, ?)', [doc, embedding]);
// 提问并搜索
const question = '什么是AI?';
const qResponse = await ollama.embeddings({ model: 'nomic-embed-text', prompt: question });
const qEmbedding = Buffer.from(new Float32Array(qResponse.embedding).buffer);
// 查找最相似的文档(简化版)
db.all('SELECT content FROM docs', (err, rows) => {
console.log('找到相关文档:', rows[0]?.content);
});
}
main();然后在终端运行 node index.js。如果看到“找到相关文档: AI是人工智能的缩写...”,恭喜你,你的本地RAG系统跑通了!
下一步可以做什么
- 加入更多文档:把你自己写的笔记或文章存到数据库里,就能问关于它们的问题。
- 使用更大的模型:在Ollama里下载其他模型(比如
llama3),让回答更智能。 - 搭建网页界面:用Next.js等框架,把问答界面做成网页,方便日常使用。
记住:所有数据都在你自己的电脑上,完全隐私。现在就去试试吧!
内容来源
DEV Ollama
发布时间
2026-05-26 01:31