fix: 修复部分章节没有正确分段的问题

This commit is contained in:
carry 2025-04-29 17:06:41 +08:00
parent c3a04c4958
commit c273bb3399
3 changed files with 16 additions and 0 deletions

View File

@ -4,11 +4,17 @@
\addcontentsline{toc}{section}{致谢\tiny{\quad.}}
当笔下最后一个句点落下时,忽然惊觉这段与文字相伴的时光已近尾声。在这场充满探索与成长的旅程中,无数温暖的力量始终环绕左右,虽难以尽述细节,却值得用最真挚的文字向所有给予我支持的人道一声感谢。
首先要感恩学术道路上的引路人。正是老师们以渊博的学识搭建起知识的阶梯,以严谨的治学态度传递为学之道,让我在迷茫时得以窥见真理的微光,在徘徊时能坚定前行的方向。每一次课堂上的启发、每一次交流中的点拨,都如同一束束光,照亮了我从懵懂到逐渐明晰的成长之路。
其次要感谢校园里的人文滋养。这方充满活力的天地,不仅用丰富的资源培育着求知的心灵,更以包容的氛围接纳着每一个跃动的梦想。无论是漫步于绿荫环绕的小径时迸发的灵感,还是坐在安静的图书馆里与文字对话的时光,都成为了我青春记忆中不可替代的注脚。
还要深深致谢生命里的温暖陪伴。家人始终是我最坚实的港湾,他们用无条件的爱构筑起勇气的壁垒,让我能心无旁骛地奔赴理想;朋友的笑容与鼓励如同一曲曲轻快的旋律,在压力袭来时吹散阴霾,让枯燥的学术时光也充满了欢声笑语。那些并肩走过的日子,早已成为岁月馈赠的珍贵礼物。
最后,要向这段全力以赴的时光致敬。论文写作的过程或许充满艰辛,但每一次与思维的博弈、每一次对完美的追求,都让我更深刻地理解了坚持的意义。此刻的终点亦是新的起点,未来的日子里,我将带着这份感恩与热忱,在更广阔的天地中继续书写属于自己的篇章。
致谢是终点亦是起点,愿所有给予我温暖的人,都能在各自的星辰大海中闪闪发光。
如果需要调整情感基调或补充特定场景的表达,欢迎随时告诉我,我可以进一步优化内容。
\par

View File

@ -14,24 +14,32 @@
\subsubsection{模块划分与交互流程}
系统根据功能需求划分为多个模块,各模块之间通过清晰的交互流程协同工作,确保系统的高效运行。
模型管理模块 是系统的核心之一负责加载、卸载和配置大语言模型。用户可以通过该模块选择并管理不同的模型而模型推理模块则负责处理用户输入并生成模型响应。此外模型训练模块支持执行LoRA微调训练流程帮助用户优化模型性能。
数据集生成模块 的设计重点在于灵活性和效率。它支持多种文档格式输入优先支持Markdown提供可视化模板编辑和变量配置功能同时支持多轮次并发生成。为了保证生成结果的可靠性模块还内置了自动验证和转换机制。在技术实现上使用LangChain PromptTemplate处理模板采用异步调用提高生成效率并通过原子操作保证数据一致性。此外模块还提供了进度反馈和错误处理机制进一步提升用户体验。
数据管理模块 涵盖了数据集生成、存储以及提示词模板管理等功能。数据集生成功能用于创建和预处理训练数据数据集存储则通过TinyDB实现内存数据库管理确保数据的高效存取。提示词模板管理模块负责维护对话模板和系统提示为模型推理提供必要的上下文支持。
系统交互流程 从用户发起请求开始用户通过Gradio界面与系统交互。前端模块接收用户请求后调用对应的业务逻辑模块进行处理。业务逻辑模块根据需要访问数据存储层获取或保存数据并将处理结果返回给前端展示。整个流程清晰且高效确保用户能够快速获得所需的结果。
\subsection{数据库设计与实现}
\subsubsection{双数据库架构设计SQLite + TinyDB}
本系统创新性地采用SQLite与TinyDB相结合的双数据库架构以应对不同类型数据的管理需求。对于API提供者信息等结构化数据系统选用SQLite作为核心数据库并通过SQLModel这一ORM工具实现面向对象的数据操作其内置的线程锁机制有效保障了多线程环境下的数据并发安全。SQLite数据库的实体文件持久化存储于\texttt{workdir/db/db.sqlite}路径,确保数据的可追溯性。
针对数据集信息包含文档元数据及问答对集合和提示词模板等半结构化数据的管理系统则采用轻量级文档数据库TinyDB。数据集采用内存存储与JSON文件持久化相结合的混合模式而提示词模板则直接通过JSON文件进行存储。TinyDB的无模式Schema-free特性为数据模型的灵活扩展提供了便利其对原生JSON格式的处理能力显著提升了数据序列化与反序列化的效率。这种双数据库协同架构在保障事务完整性的同时充分兼顾了半结构化数据处理的敏捷性需求实现了数据存储方案的最优化配置。
\subsubsection{据模型定义与存储方案}
本系统遵循领域驱动设计原则并借助Pydantic框架构建了层次化的数据模型体系以确保业务数据的完整性和一致性。在数据集建模方面设计了四级递进模型结构Doc模型用于描述文档的基础元数据如名称、存储路径、版本号等Q\_A模型封装了单个问答对的核心要素DatasetItem模型聚合多个问答对形成逻辑上的数据单元最终Dataset模型整合元数据与数据项集合构成完整的数据集结构。
提示词模板模型则通过promptTemplate实体进行抽象包含模板ID、名称、描述、内容体及创建时间等关键字段。系统预置了验证规则强制要求模板内容必须包含document\_slice变量占位符以确保模板在实际应用中具备上下文填充能力。
在存储实现层面数据集采用了内存数据库与文件系统持久化相结合的双重保障机制并利用TinyDB的临时文件特性实现原子写入操作。提示词模板则直接采用JSON文件存储方案其良好的可读性便于人工维护。这种差异化的存储策略旨在保证数据完整性的同时提升数据访问和管理的效率。
\subsubsection{数据库初始化与管理实现}
本系统实施了分层且智能化的数据库初始化与管理策略。针对SQLite数据库初始化阶段将自动检测并创建数据库文件并通过SQLModel的元数据创建功能动态构建表结构同时支持从环境变量注入初始数据集从而实现部署环境的快速配置。对于TinyDB子系统初始化时将执行自动化目录扫描对workdir/dataset路径下的JSON文件进行格式校验和数据加载建立内存与文件系统之间的双向同步机制。
为保障数据可靠性系统采用了多维度管理策略在访问控制层面SQLite数据库利用线程级锁机制实现并发安全TinyDB则通过文件锁保证写入操作的互斥性在数据操作层面系统集成了Pydantic模型验证框架在数据持久化之前执行严格的类型校验在容错机制方面系统采用预写式日志WAL记录关键操作并结合异常捕获机制实现故障的可追溯性。特别设计的原子写入模块通过临时文件交换技术确保在任何异常情况下存储文件的完整性从而有效防范数据损坏的风险。
\subsection{语料生成与处理技术}

View File

@ -5,7 +5,9 @@
\subsection{研究背景与意义}
在现代软件开发领域,程序员的编码工作日益依赖于先进的大语言模型支持,这些模型凭借其强大的能力,显著自动化了代码生成流程,有效减轻了开发者的工作负担,并大幅度提升了开发效率。然而,尽管这些模型在公开数据集与广泛使用的开源项目中展现出非凡的性能,但在处理企业内部高度专业化的私有库时,其局限性便显露无遗。核心原因在于,大语言模型往往基于广泛的通用数据集进行训练,缺乏对特定企业或项目中私有库内专有函数、类及其交互细节的深度理解和应用适应性。
相较于广泛采用的公开编码模型针对私有库设计的专有模型显得尤为必要。公开模型虽强大但在面对包含企业核心业务逻辑、技术秘密及高度定制化功能的私有库时往往捉襟见肘。由于缺乏对私有库具体实现细节的认知生成的代码往往无法精准引用库中的类、方法或属性这不仅增加了后续人工调整的工作量还可能引入潜在的安全风险。此外企业间的私有库差异巨大从架构设计到API接口各不相同要求任何自动化工具都必须具备高度的灵活性和可定制性以适应这些多样化的环境。
鉴于上述现状,本项目通过深度解析私有库的文档资源,精准提取关键信息,并以此为基础对大语言模型进行针对性的微调与优化。这一过程不仅增强了模型对私有库特定功能和用法的理解能力,还极大地提升了生成代码的准确性和实用性。通过本项目,我们期望能够让生成的代码片段无缝集成于企业的私有库生态中,真正实现企业级软件开发的智能化与高效化,满足企业对高质量、高安全性代码的迫切需求。
\subsection{国内外研究现状}