该实验报告有框架,只需要学生填入sql和截图。具体问题一般为
[一个要求,需要学生 在报告中粘贴上 执行前的表截图 + 执行该要求的sql + 执行后的表截图]
并且所使用的实验软件是SQL Server Management Studio
insert.py -> agent.py ->end.py
执行前请打开ssms的执行窗口 请注意在运行agent.py时不能使用鼠标和键盘
图片上的文字说明:
divide.py
将.docx中的任务进行划分为单位任务 (根据实际的实验报告的结构的不同,代码会有不同,这里仅代表一种方法)
def extract_tasks(file_path)
tool.py 定义了部分函数,主要函数为执行sql的函数和截图的函数
agent.py
定义了agent模型,通过divide.py中的def extract_tasks(file_path)函数得到划分好的任务,交给LLM执行。截图保留在img目录下,结果保留在ans.json
insert.py
根据正则匹配在.docx中插入标识,方便后续在合适位置插入sql文本以及对应截图 需要人工核验,(正则匹配一般做不到完全正确) 标识的格式如下[0-sql] [0-img-before] [0-img-after] (根据实际的实验报告的结构的不同,代码会有不同,这里仅代表一种方法)
生成 insert 之后的.docx 版本
end.py
通过py-docx库在insert之后的.docx中合适位置插入sql文本和截图
b站 BV185y6B3ENA
1.环境很乱,我一般使用uv来管理我的虚拟环境。但是在我没注意的情况下,这个虚拟环境下除了该项目还有一个爬虫的项目。导致后续导出的requirements.txt有些多余的库
2.在开写的时候没有想好怎么去写,各个部分应该怎么连接。我有点模糊的感觉就开始驱使AI干活了,导致后期不断的发现上游代码的不足,不断的调整细节。AI在细节的地方又把握不好,所以只能我一行行看代码。浪费了很多精力和时间。 也是因为缺少经验,以后也许会好很多?
3.项目的结构不好,太散了。我之后会使用更加规范的结构,例如src/
虽然一些细节弄的很粗糙,因为功能的原因也注定了它不是那么被需要,但是弄完了整体,我还是非常高兴的。
我本来是没有接触过AI的,因为期末写数据库实验报告的时候,不断的将文本复制到gpt,将gpt回复复制到SSMS中,再执行截图。这一套让我很心烦。所以萌生了通过编程让计算机帮我干活的想法。 后边了解到MCP,functioncalling ,agent ,就逐渐有了这么个小小的项目。
满足了我自己的求知欲和一些尚存的心气,我很高兴φ(゜▽゜*)♪
