当前位置:首页>python>用 Python + Ollama 做一个本地 AI 助手,让它能调用电脑 , 自动执行任务

用 Python + Ollama 做一个本地 AI 助手,让它能调用电脑 , 自动执行任务

  • 2026-10-11 08:31:09
用 Python + Ollama 做一个本地 AI 助手,让它能调用电脑 , 自动执行任务
看完现有的各个AI产品,我也想试着做一个本地AI助手,自动执行任务!

能不能让我对着电脑说一句话,它自己把事情做完?

比如:

  • “帮我创建一个文件夹,然后写个README”

  • “把当前目录的日志文件统计一下错误数量”

  • “打开浏览器搜一下某个东西”

这篇文章,我们就试着一步步把这个东西做出来。

不是 Demo,而是一个可以扩展的本地 AI 助手原型。

一、核心思路(先讲人话)

要做的其实是这三个步骤:

用户输入一句话        ↓AI 判断要做什么(选工具)        ↓调用 Python 函数执行

也就是:自然语言 → 函数调用 → 执行结果


二、最终实现效果

输入:

帮我创建一个 test.txt 文件,并写入 hello world

输出:

[AI决策] 调用 create_file[执行结果] 文件创建成功

三、环境准备


1️⃣ 安装 Ollama

ollama run llama3

2️⃣ Python 依赖

pip install ollama

四、项目结构

ai_assistant/ ├── main.py ├── agent/ │    ├── planner.py │    ├── executor.py │    └── tools.py └── config.py

五、第一步:定义工具(最关键)

AI 能做什么,完全取决于你给它什么工具。

#tools.pyimport osdef create_file(filename: str, content: str):    with open(filename, "w", encoding="utf-8") as f:        f.write(content)    return f"{filename} 创建成功"def list_files(path="."):    return os.listdir(path)def read_file(filename: str):    with open(filename, "r", encoding="utf-8") as f:        return f.read()

六、第二步:让 AI 学会选对的 “工具”


#planner.pyimport ollamaimport jsonTOOLS_DESC = """你可以使用以下工具:1. create_file(filename, content)2. list_files(path)3. read_file(filename)如果需要调用工具,请返回JSON格式:{"tool": "...", "args": {...}}否则直接回答。"""def plan(user_input):    prompt = f"""      {TOOLS_DESC}      用户需求:{user_input}    """    res = ollama.chat(        model="llama3",        messages=[{"role": "user", "content": prompt}],    )    content = res["message"]["content"]    try:        return json.loads(content)    except:        return {"answer": content}

七、第三步:执行工具

#executor.pyfrom .tools import create_file, list_files, read_fileTOOLS = {    "create_file": create_file,    "list_files": list_files,    "read_file": read_file,}def execute(plan_result):    if "tool" not in plan_result:        return plan_result.get("answer")    tool = plan_result["tool"]    args = plan_result["args"]    if tool not in TOOLS:        return "未知工具"    return TOOLS[tool](**args)

八、主程序(串起来)

#main.pyfrom agent.planner import planfrom agent.executor import executedef run():    while True:        user_input = input(">>> ")        result = plan(user_input)        print("[AI决策]", result)        output = execute(result)        print("[执行结果]", output)if __name__ == "__main__":    run()

九、运行效果示例

>>> 帮我创建一个 hello.txt 文件,内容是 Python 很强[AI决策]{"tool": "create_file", "args": {"filename": "hello.txt", "content": "Python 很强"}}[执行结果]hello.txt 创建成功

十、后续可以继续拓展的功能

1️⃣ 增加更多工具

比如:

打开浏览器执行shell命令发送HTTP请求

2️⃣ 增加上下文记忆

memory = []

让 AI 记住之前做过什么。


3️⃣ 增加安全限制(很重要)

不要直接执行:rm -rf /


4️⃣ 多步骤执行(真正进化)

现在只能一步:创建文件

升级后:创建文件 → 写内容 → 打开文件

最新文章

随机文章