自己动手实现一个简单的Linux AI Agent
大模型带我们来到了自然语言人机交互的时代
1、安装本地大模型进行推理
下载地址:
https://ollama.com/download
部署本地deepseek
ollama run deepseek-r1:7b
2、制定Linux操作接口指令规范
需要ai推理生成的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、编写大模型对话工具
#!/usr/bin/python3
#coding: utf-8import json
import requestsmodel = "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 += contentprint(content, end="", flush=True)if body.get("done", False):message["content"] = outputreturn messagedef 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查看效果
未完待续