自己动手实现一个简单的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查看效果


未完待续

相关推荐
极限实验室几秒前
INFINI Labs 产品更新 - Coco AI v0.9 与 Easysearch v2.0 全新功能上线,全面支持 GitLab 合并请求(MR)自动
数据库·人工智能·产品
还是转转1 小时前
AI Code Review 工具
人工智能·代码复审
艾莉丝努力练剑1 小时前
【Git:多人协作】Git多人协作实战:从同分支到多分支工作流
服务器·c++·人工智能·git·gitee·centos·项目管理
拓端研究室4 小时前
专题:2025AI产业全景洞察报告:企业应用、技术突破与市场机遇|附920+份报告PDF、数据、可视化模板汇总下载
大数据·人工智能·pdf
lumi.5 小时前
Vue + Element Plus 实现AI文档解析与问答功能(含详细注释+核心逻辑解析)
前端·javascript·vue.js·人工智能
m0_650108246 小时前
InstructBLIP:面向通用视觉语言模型的指令微调技术解析
论文阅读·人工智能·q-former·指令微调的视觉语言大模型·零样本跨任务泛化·通用视觉语言模型
金融小师妹7 小时前
基于NLP语义解析的联储政策信号:强化学习框架下的12月降息概率回升动态建模
大数据·人工智能·深度学习·1024程序员节
AKAMAI8 小时前
提升 EdgeWorker 可观测性:使用 DataStream 设置日志功能
人工智能·云计算
银空飞羽9 小时前
让Trae CN SOLO自主发挥,看看能做出一个什么样的项目
前端·人工智能·trae
cg50179 小时前
基于 Bert 基本模型进行 Fine-tuned
人工智能·深度学习·bert