自己动手实现一个简单的Linux AI Agent

大模型带我们来到了自然语言人机交互的时代

1、安装本地大模型进行推理

下载地址:
https://ollama.com/download

部署本地deepseek

bash 复制代码
ollama run deepseek-r1:7b

2、制定Linux操作接口指令规范

需要ai推理生成的json格式:

json 复制代码
[
    {
        "host": "10.1.1.10",
        "OS": "CentOS7.9",
        "user": "root",
        "ssh_port": 22,
        "command": "df -h"
    }
]

提示词:

复制代码
有如下json中的主机,请结合用户需求和OS类型给出准确的command命令替换"command"键值:
[
    {
        "host": "10.1.1.10",
        "OS": "CentOS7.9",
        "user": "root",
        "ssh_port": 22,
        "command": "df -h"
    }
]
其他key未说明情况下为默认,请根据用户需求返回json,仅回复json文本。

在page assist中测试提示词

命令最好是使用提示词都规范下:

3、编写大模型对话工具

python 复制代码
#!/usr/bin/python3
#coding: utf-8

import json
import requests

model = "llama3"

def chat(messages):
    r = requests.post(
        "http://localhost:11434/api/chat",
        json={"model": model, "messages": messages, "stream": True},
    )
    r.raise_for_status()
    output = ""
    for line in r.iter_lines():
        body = json.loads(line)
        if "error" in body:
            raise Exception(body["error"])
        if body.get("done") is False:
            message = body.get("message", "")
            content = message.get("content", "")
            output += content
            print(content, end="", flush=True)
        if body.get("done", False):
            message["content"] = output
            return message

def main():
    messages = []
    while True:
        user_input = input("Enter a prompt: ")
        if not user_input:
            exit()
        print()
        messages.append({"role": "user", "content": user_input})
        message = chat(messages)
        messages.append(message)
        print("\n\n")

if __name__ == "__main__":
    main()

4、运行AI Agent查看效果


未完待续

相关推荐
frankzch7 分钟前
Claude 刷新量子电路最优:LLM 与评估器的进化循环怎么搭
人工智能·深度学习·机器学习·语言模型·量子计算
郝学胜_神的一滴7 分钟前
游戏设计:原型与开发 05:读懂动态层,理解玩家如何活在游戏世界
人工智能·程序员
用户6698295485299 分钟前
同一句话,粤语要贵 24%:我量了 236 对双语文档和 4 种写法
人工智能
阿屿14 分钟前
从零手搓 AI 伴侣:Java + 大模型 + 多模态的工程化踩坑实录
人工智能
const_qiu16 分钟前
第四章 07:4.7 本章小结
java·运维·服务器·人工智能
cubestudio18 分钟前
云原生分布式训练怎么调度才不浪费算力?CubeStudio 分布式训练与加速架构解析(CRD+Operator / gang 调度 / 亲和反亲和 / GPU 利用率 / 共享 GPU)
人工智能·云原生·gpu
老马识码19 分钟前
7541 万笔,2424 万美元:x402 真正解决了什么?
人工智能
大明二代20 分钟前
从 RAG 到有记忆的 Agent:Mastra Memory 与 PostgreSQL 实战
前端·javascript·人工智能
zhangyy042323 分钟前
agent 说"做完了",它真做完了吗:16 个任务、四种判据的一次实测
人工智能
鶴哥只手遮天23 分钟前
Spring AI 2.0.1 深度解析-第 22 章 Spring Boot 集成:自动配置、Properties 与条件装配
java·人工智能·开源