Skip to content

针对主要形式是[一个要求,需要学生 在报告中粘贴上 执行前的表截图 + 执行该要求的sql + 执行后的表截图],实验报告格式规范,并且所使用的实验软件是SQL Server Management Studio的sqlserver的自动化实验报告。

Notifications You must be signed in to change notification settings

moon-like-gray-cat/sqlserver_report_agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

面向的对象

该实验报告有框架,只需要学生填入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 ,就逐渐有了这么个小小的项目。

满足了我自己的求知欲和一些尚存的心气,我很高兴φ(゜▽゜*)♪

About

针对主要形式是[一个要求,需要学生 在报告中粘贴上 执行前的表截图 + 执行该要求的sql + 执行后的表截图],实验报告格式规范,并且所使用的实验软件是SQL Server Management Studio的sqlserver的自动化实验报告。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages