极客前沿

AI入门:用Ollama给本地大模型装个安全文件工具

2026-06-13 01:31
DEV Ollama
查看原文

零基础学会安装Ollama,配置本地大模型,并安全地让AI读取你电脑里的文件。

准备环境:装好Ollama和模型

首先,你需要一个能跑大模型的环境。Ollama(一个帮你本地运行大模型的免费工具)就是我们的选择。去 ollama.com 下载对应系统的版本(Windows、macOS、Linux都支持),安装后打开终端(命令行)。然后拉取一个模型,比如小巧的 llama3.2(一个适合入门的大语言模型):

  • 在终端输入 ollama pull llama3.2,等待下载完成。
  • 下载完成后,输入 ollama run llama3.2 试试能不能聊天。能回复就说明环境OK了。

常见坑:如果下载慢,可以设置镜像源,或者换个时间再试。

安装步骤:让模型学会用工具

模型本身不会直接操作文件,我们需要写一点代码(Python)来教它。先装Python(如果没装,去python.org下载3.10以上版本)。然后安装依赖:

  • 在终端执行 pip install ollama(让Python能调用Ollama)和 pip install zod(一个验证数据的库)。

接下来,我们要给模型三个工具(就是让AI能调用的函数):列出文件夹、读取文件、搜索关键词。这些工具只读不写,很安全。下面是核心代码片段(你可以直接复制):

Tutorial Image
import ollama, os, pathlib, zod

# 定义工具模式
tools = [
  {
    "name": "list_dir",
    "description": "列出文件夹内容",
    "parameters": {"type": "object", "properties": {"path": {"type": "string"}}}
  },
  {
    "name": "read_file",
    "description": "读取文件内容(最大10KB)",
    "parameters": {"type": "object", "properties": {"path": {"type": "string"}}}
  },
  {
    "name": "grep",
    "description": "在文件中搜索关键词",
    "parameters": {"type": "object", "properties": {"path": {"type": "string"}, "pattern": {"type": "string"}}}
  }
]

# 安全沙箱(只允许操作这个文件夹)
SANDBOX_ROOT = "/home/user/projects"  # 改成你自己的项目路径

def safe_path(path):
    abs_path = os.path.abspath(path)
    # 检查是否在沙箱内
    if os.path.relpath(abs_path, SANDBOX_ROOT).startswith(".."):
        return None
    # 处理符号链接
    real = os.path.realpath(abs_path)
    if os.path.relpath(real, SANDBOX_ROOT).startswith(".."):
        return None
    return abs_path

注意:一定要把SANDBOX_ROOT改成你自己的项目目录,否则AI能读你整个硬盘!

验证是否成功:让AI读个文件试试

写一个简单的循环,让AI可以连续调用工具:

messages = [{"role": "user", "content": "列出当前文件夹的文件"}]
for _ in range(8):  # 最多8次交互,防止死循环
    response = ollama.chat(model="llama3.2", messages=messages, tools=tools)
    if response.message.tool_calls:
        for call in response.message.tool_calls:
            # 这里写具体执行代码(略),注意用safe_path验证路径
            pass
    else:
        print(response.message.content)
        break

运行后,如果模型能正确列出文件夹内容,就成功了!

下一步可以做什么

你已经让本地AI读文件了。接下来可以:

  • 加更多工具,比如搜索整个项目、统计代码行数。
  • 千万不要让AI直接写文件,除非你加人工确认步骤(比如输出一个diff,让你按y才执行)。
  • 试试让AI帮你总结代码、找bug,但记得限制它只能读你允许的文件夹。

记住:模型是规划者,你的代码是执行者。永远在代码里做安全检查,别信模型说的任何路径。这样你就能安全地享受本地AI的便利了。

内容来源

DEV Ollama

发布时间

2026-06-13 01:31

返回 AI技术