当前位置: 首页 > news >正文

让PlantUML的布线更加简洁的一个方法

  • 比如这样的代码:
@startuml 系统架构图
title IntelliJ IDEA AI编程助教插件 - 系统架构图
package "AI编程助教插件" {package "表示层 (Presentation Layer)" {[Tool Window] as ToolWindow[Editor Actions] as EditorActions}package "应用层 (Application Layer)" {[TaToolWindowPanel] as ChatService[AskSelectedCodeAction\nCodeRefactorAction] as CodeModificationService}package "领域层 (Domain Layer)" {[SimpleRetriever] as RAGEngine[DocumentIndexer] as KnowledgeBaseManager[ContextAwareProcessor] as ContextAnalyzer[OpenRouterClient] as LLMEngine}package "基础设施层 (Infrastructure Layer)" {[Apache Tika] as DocParser[VectorStore] as VectorStore[SimpleRetriever] as RetrievalEngine}package "工具类" {[IndexFileManager] as IndexFileManager}
}package "外部系统" {[Course Documents] as CourseDocs[Large Language Model] as LLM
}/' 层间关系 '/
ToolWindow --> ChatService : 用户提问
EditorActions --> CodeModificationService : 代码操作请求ChatService --> RAGEngine : 触发检索流程
CodeModificationService --> ContextAnalyzer : 获取代码上下文
CodeModificationService --> LLMEngine : 调用大语言模型RAGEngine --> KnowledgeBaseManager : 查询知识库
KnowledgeBaseManager --> RetrievalEngine : 检索相关文档
KnowledgeBaseManager --> DocParser : 解析课程文档
KnowledgeBaseManager --> VectorStore : 存储/检索向量LLMEngine --> LLM : 调用大语言模型VectorStore --> RetrievalEngine : 提供向量检索
RetrievalEngine --> RAGEngine : 返回检索结果DocParser --> CourseDocs : 读取课程文档/' 数据存储 '/
folder "数据存储" {[Index File] as IndexFile[Vector Database] as VectorDB
}IndexFileManager --> IndexFile : 管理文档索引路径
VectorDB --> VectorStore : 存储向量数据@enduml
  • 图的效果是这样的:

系统架构图

  • 布线很乱

解决方法

  • 在@startuml下方添加skinparam linetype ortho设置布线为直线

  • skinparam defaultFontSize 12调小字体大小
    skinparam Padding 20调大元素间距

  • 图的效果:

系统架构图

  • 好像没有整齐多少, 但是线变直了!
http://www.jsqmd.com/news/40608/

相关文章:

  • 《Java工程师必看:JVM性能调优的7个核心参数》‌
  • 20232301郑好 实验五 信息搜集技术实践
  • 2025年澳洲留学中介机构推荐榜单:八大名校offer保障/全流程服务/高性价比机构推荐​
  • java实现Word转Pdf(Windows、Linux通用) - IT
  • docker: ubuntu 24.04安装docker
  • 探索“AI元人文”构想:致学者、技术专家与爱好者的一篇导言
  • 实用指南:计算机视觉(opencv)——基于 MediaPipe 人体姿态检测
  • 《团队协作:如何高效进行代码审查》
  • 英国留学中介避坑指南:新通/厚仁领跑,G5录取率93%+的靠谱留学机构清单
  • C# 数据类型与运算符(学习笔记2)
  • 《移动开发:Flutter与React Native的对比》‌
  • 20232420 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • kde neon: 配置国内源
  • JWT笔记
  • 2025藤校申请少走弯路!5家权威机构测评,从申请到就业一站式护航
  • 词向量:开启自然语言处理的奇妙之旅 - 详解
  • 11.14日学习笔记
  • [Python刷题记录]-有效的括号-栈-简单
  • [KaibaMath]1021 关于[0, 1]与[a, b]等势的证明
  • 超参数调优:Grid Search 和 Random Search 的实战对比
  • 征程 6X 常见 kernel panic 问题
  • 20251114日报
  • 实用指南:26秋招三分钟快速背诵一个八股-Spring中Bean的生命周期
  • 11.14 —— (VP)2024icpc杭州
  • 2025-11-13~14 hetao1733837的刷题记录
  • CF1381D The Majestic Brown Tree Snake/SS251114C. 历遍的树(inverse)
  • 2025年11月宁夏数字人服务商/供应商最新专业推荐:AI驱动下的企业数字化转型新引擎
  • [KaibaMath]1020 与海明码有关的最小值问题
  • FreeSWITCH使用RNNoise进行实时通话降噪
  • 不是 DE_aemmprty 的草稿纸