为管理命令注入AI Agent:自然语言操作数据库
在自定义manage.py命令中集成LangChain Agent,允许用户通过对话式指令执行复杂数据迁移、清洗和报告生成。 · 难度:入门 · +10XP
为管理命令注入AI Agent
本教程将LangChain的ReAct Agent嵌入Django管理命令。用户在终端中输入 python manage.py ai "找出所有邮箱重复的用户,并将最新一条以外的记录标记为禁用",Agent自动调用Django ORM工具获取模型信息、生成并执行Python代码。包含安全沙箱:限制Agent只能访问特定模型和只读操作(需手动确认写操作)。最终实现一个可交互的数据库运维助手。
from langchain.agents import Tool, AgentExecutor
from django.core.management.base import BaseCommand
def query_orm(query_dict):
# 安全执行用户输入的ORM查询,返回JSON
pass
tools = [Tool(name='ORMQuery', func=query_orm, description='查询Django模型')]
class Command(BaseCommand):
def handle(self, *args, **options):
agent.run(options['instruction'])