本文介绍了RUGGED(基于图引导可解释疾病区分的检索),该方法将大语言模型(LLM)推理与检索增强生成(RAG)相结合。它从专家整理的生物医学知识库和同行评审的生物医学出版物中提取证据,利用最新信息综合新知识,识别具有可解释性和可操作性的预测结果,并确定假设驱动研究的潜在方向。
本文介绍了RUGGED(基于图引导可解释疾病区分的检索),该方法将大语言模型(LLM)推理与检索增强生成(RAG)相结合。它从专家整理的生物医学知识库和同行评审的生物医学出版物中提取证据,利用最新信息综合新知识,识别具有可解释性和可操作性的预测结果,并确定假设驱动研究的潜在方向。
生物医学知识的规模涵盖了科学文献和 curated 知识库,这给研究人员在有效处理、评估和解读研究发现方面带来了重大挑战。大型语言模型(LLMs)已成为应对这一复杂知识格局的有力工具,但可能产生幻觉式响应。检索增强生成(Retrieval-Augmented Generation, RAG)对于识别相关信息以提高准确性和可靠性至关重要。本实验方案介绍了 RUGGED(Retrieval Under Graph-Guided Explainable disease Distinction),这是一个旨在支持知识整合、减少偏倚并探索和验证新研究方向的综合工作流程。通过文本挖掘关联分析和可解释图谱预测模型,整合并分析来自出版物和知识库的生物医学信息,以揭示潜在的药物-疾病关系。这些发现连同源文本语料库和知识库被纳入一个框架中,该框架采用 RAG 增强的 LLM,使用户能够探索假设并深入研究潜在机制。一个临床应用案例展示了 RUGGED 在评估和推荐心律失常性心肌病(Arrhythmogenic Cardiomyopathy, ACM)与扩张型心肌病(Dilated Cardiomyopathy, DCM)治疗方案方面的能力,分析已开具药物的分子相互作用及潜在的新用途。该平台减少了 LLM 的幻觉现象,突出了可操作的洞察,并简化了对新型治疗手段的探究过程。
在生物医学研究中,假设探索过程对于揭示疾病发病机制背后的新分子-药物-疾病相互依赖关系并释放治疗潜力至关重要1,2。该过程依赖于现有的生物医学知识,通过整合同行评审文献中蕴含的逻辑线索(例如,来自PubMed的>36篇报告),综合新发现,并融合来源于生物医学知识库中的高可信度 curated 证据。近年来的技术进步通过在文献语料库上应用文本挖掘3,4,5,以及采用基于图谱的分析方法6,7,8,9,来合成相关信息并发现新的研究路径,从而减少了繁琐的人工工作。尽管如此,由于数据碎片化,现有方法通常难以支持深入的上下文理解。此外,它们缺乏基于证据进行推断以及交互式探索新假设的能力。
大型语言模型(LLMs)的最新进展为应对这些挑战提供了新的视角,通过在跨多个学科的海量信息上进行训练,展现出高水平的上下文理解能力10,11,12。在生物医学领域,LLMs 已显示出在提取患者信息13和通用临床问题回答14,15方面的应用潜力,而其在特定领域问题回答16及初级临床护理中的实际应用17仍有待进一步探索。这些模型具备从复杂数据集中进行推理和推断的能力,使其可能适用于开展假设探索与知识整合。此外,部分模型具备类似对话的交互功能,可促进用户参与并实现对主题的动态探索,突破了传统基于查询的搜索引擎和知识库的局限18,19。
除了这些潜力之外,大语言模型(LLM)还面临诸多重大挑战,例如可能产生信息幻觉、对潜在不准确的解释表现出不当的自信、缺乏可解释性,以及容易生成带有偏见或不适当的内容20,21,22,23,24。若将LLM直接应用于指导临床决策,其所生成的回答与预测具有重大影响;任何错误都可能导致昂贵的实验室实验,或对患者的健康进程产生负面影响25,26。因此,可靠且可信的LLM响应至关重要,其建议必须严格基于科学证据。在这些情境下,可解释性并非附加优势,而是理解模型为何做出特定预测的必要条件。
为此,检索增强生成(Retrieval-Augmented Generation, RAG)是一种旨在减少大语言模型(LLM)产生幻觉的系统,通过将LLM的响应建立在证据基础之上,以提高其准确性和可靠性27,28。该方法通常涉及检索相关文本段落,例如将LLM(如ChatGPT)与PubMed集成,从而识别出与用户查询相关的引文29,30。检索不仅限于文本,知识图谱(Knowledge Graphs, KGs)上的检索在LLM中的应用也展现出潜力,可用于事实核查31,32,33、透明推理34,35,36、知识编码37、提升问答性能38以及知识图谱补全39等任务。通过编码来自权威来源的事实信息,KGs能够增强LLM响应的准确性、透明度和可靠性。这些图谱中的链接预测技术利用深度学习来识别分子、药物与疾病之间先前未被发现的关系5,40,41。近年来可解释人工智能预测技术的进步进一步提升了这些链接预测任务的透明性和可解释性,为解释生物医学假说提供了可行的研究路径,并具有潜在支持作用42,43,44。这些进展确保了LLM生成的响应是平衡的且基于证据的,显著提升了其在生物医学领域的适用性。
本方案介绍了RUGGED(基于图引导可解释性疾病的检索,Retrieval Under Graph-Guided Explainable disease Distinction)作为一种便捷且高效的流程,用于探索和验证临床治疗见解图1)。该工作流程利用生物医学文献和知识库的丰富资源,提取并验证相关信息,从而实现针对查询的定制化检索过程(图2采用可解释的人工智能预测模型,从现有生物医学知识中挖掘可解释且可操作的洞察,从而提升预测模型的透明度与实用性。完整的流程简化了知识图谱与模型预测的探索过程。 通过 RAG增强的大型语言模型,为研究人员、临床医生及临床专业人员提供直观且信息丰富的交互体验。
本部分为该实验方案奠定基础,后续章节将详细描述实施该方法的具体步骤。接着,通过一个具有转化意义的临床应用实例,展示该方法在心血管药物分子相互作用评估及治疗策略研究中的应用。最后,讨论该实验方案的意义及其相关问题。
本方案使用 Python 3.10 开发,并在 Windows 系统中以 Docker 容器形式实现。所提供的命令基于 Docker 容器内的 Unix 环境。该软件可在 https://github.com/pinglab-utils/RUGGED 获取。表1列出了本方案中所有步骤的计算时间估算。
1. 安装软件
2. 获取生物医学知识与信息提取
注意:这些步骤概述了构成 RUGGED 系统中检索增强生成(Retrieval Augmented Generation, RAG)的两个知识提取流程:(1)CaseOLAP LIFT 生物医学文本挖掘流程5 和(2)Know2BIO 知识图谱构建工作流程9。若要使用自定义数据运行 RUGGED,请继续执行步骤 4。
3. 可解释性预测分析
注意:在图卷积网络模型上执行 GNNExplainer44,以预测知识图谱中潜在的边(关系),并揭示先前未知的关联。
4. 假设生成
这些代表性结果是通过遵循本实验方案中所述步骤获得的。根据 CaseOLAP LIFT 方案5,使用默认参数进行了文本挖掘关联分析,研究了八类广泛的心血管疾病72 与其线粒体蛋白(GO:0005739)之间的关联。截至2024年5月,共确定635,696份报告与这些疾病相关;其中识别出4,655个高置信度的蛋白质-疾病关联,用于支持后续分析。使用 Know2BIO 的软件代码并采用2024年5月的默认设置构建了生物医学知识图谱9。所生成的知识图谱包含219,450个节点、6,323,257条边,以及针对189,493个节点的节点特征,包括节点描述、蛋白质/基因序列、化学结构等(如可获取)。本方案中所有步骤的计算时间估计见表1。
通过构建知识图谱节点和特征以及心血管疾病相关出版物的向量数据库,初始化了RUGGED系统。所有知识图谱的节点、边和节点特征均使用BART71嵌入模型,以20个token的分块大小进行处理,以准备RAG向量搜索。类似地,原始研究论文和综述文章使用500个token的分块大小及BART嵌入模型进行处理,以准备RAG向量搜索。在文献检索中,对于超过500个token的全文出版物,BART嵌入模型根据出版物的各个部分对其进行分层摘要。系统中其余的LLM代理均采用GPT-4o模型。
这些代表性结果展示了一个用于研究致心律失常性心肌病(Arrhythmogenic Cardiomyopathy, ACM)和扩张型心肌病(Dilated Cardiomyopathy, DCM)潜在药物治疗方案的示例应用场景,二者在医学主题词(MeSH)中分别标识为 MeSH_Disease: D019571 和 MeSH_Disease: D002311。一系列查询流程如图3所示,模型响应的典型示例见图4,完整响应结果见补充文件1,A部分。查询方向根据经研究者验证的响应结果进行调整,并基于前序响应结果设计后续查询。分析共发现11种被归类为β受体阻滞剂和抗心律失常药物的候选药物。通过图卷积神经网络链接预测模型,在完整知识图谱的一个子集上评估了新的治疗途径,该子集包括研究疾病节点和药物节点的一跳邻域(1-hop)及其相互连接关系,评估指标见表4。针对模型预测结果中的每一条预测,其排名前10的相关边进一步通过图可解释性模块GNNExplainer44进行分析,以分别识别对各预测贡献最大的关键节点和边。本案例中,使用商业大语言模型(LLM)执行RUGGED协议全部步骤的预计总成本在撰写本文时约为1.50美元。

图1:基于图谱引导的可解释疾病区分检索(RUGGED)工作流程。RUGGED 包含四个主要组成部分:(1)整合并处理来自符合伦理规范且专业管理的资源(例如 PubMed 和人工整理的生物医学知识库)的数据,(2)将同行评审的研究成果整合为统一的知识图谱,(3)在数据库服务中对文本和图谱数据进行结构化处理,(4)在知识图谱中对生物医学实体间的可解释关系进行建模与预测,以及(5)通过检索增强生成(Retrieval Augmented Generation, RAG)工作流程(图2)检索并综合知识,以验证复杂的分子关系并探索由人工智能驱动的疾病预测。用户可引入人工参与的审核步骤,以提高输出结果的准确性。请点击此处查看该图的高清版本。

图2:检索架构与偏差缓解工作流程。 检索增强生成(Retrieval Augmented Generation, RAG)框架采用多个大语言模型(LLM)代理,每个代理执行特定任务,以根据用户查询支持获取相关信息。该系统为面向用户的基于GPT的推理代理提供有据可查的证据,促进用户与代理之间的交互及知识整合。(1)生物医学文本检索:根据文献对理解疾病关联的相关性,筛选经过同行评审的原创性研究和综述文章。构建向量数据库,其中作者和编辑验证的文本证据根据出版物相应部分加权:摘要占70%,结果占10%,元数据占10%,其余各子章节合计占10%。通过关键词搜索和用户查询文本嵌入的相似性搜索共同识别相关文档。使用基于BERT的摘要器生成每篇文档的摘要,并由基于GPT的文本评估代理进一步优化搜索,以验证查询与文档的相关性。(2)知识图谱检索:基于BERT的命名实体识别模块和基于GPT的关系抽取模块将用户查询连接至知识图谱中的相关实体。在向量数据库中进行相似性搜索,识别出相关的节点和边。由基于GPT的Cypher查询代理生成并经查询验证代理优化后的Cypher查询语句,从Neo4j数据库中检索数据。(3)来自生物医学文本检索或知识图谱检索流程的独立响应被提交给推理代理,该代理综合生成针对用户查询的简洁且偏差最小的回答。该系统旨在确保在呈现事实信息时保持准确性和中立性。请点击此处查看该图的放大版本。

图3:通过分层查询级联实现知识整合与假设探索的应用场景 via tiered query cascade. 本图展示了一个重点应用场景,聚焦于研究者和/或医疗专业人员可能向RUGGED系统提出的一系列相互关联的问题与概念。用户的查询按数字顺序提交给系统,箭头表示各问题之间推断出的逻辑关系和领域特定的推理过程。系统从隐含且相关的信息中进行检索(来源以蓝色显示),并对查询作出响应。系统响应的示例如图4所示。请点击此处查看该图的放大版本。

图4:心血管病理学应用案例:阐明心血管疾病(CVD)的发病机制。 展示了用户与RUGGED系统之间的查询-响应对。在左上方面板中,问题1-6通过从知识图谱数据库中提取信息,生成基于证据的响应。问题7采用可解释的图谱链接预测方法,识别得分最高的潜在治疗手段。该查询触发预测分析,由系统自动执行和处理,并对关键发现进行简明总结。问题8评估从定义的文本数据语料库中检索到的相关文献证据,以验证、确认和佐证预测结果。系统响应已通过人工参与的审查流程进行审核,并为提高可读性和简洁性进行了修改。这些发现的完整记录详见补充文件1。请点击此处查看该图的放大版本。
| 步骤 | 描述 | 时间 |
| 获取生物医学知识 | 总计30% | |
| 准备生物医学文献语料库 | 连接至PubMed和PubMed Central,下载并解析出版物数据以用于下游任务。 | 20% |
| 准备知识库数据 | 连接至生物医学知识库,下载并解析下游任务所需的信息。 | 5% |
| 信息提取 | 总计30% | |
| CaseOLAP LIFT文本挖掘分析 | 在生物医学文本语料库中识别高层次的疾病-蛋白质关系。 | 25% |
| 知识图谱构建 | 整合来自不同生物医学知识库的信息,构建统一的知识图谱。 | 5% |
| 预测分析 | 总计10% | |
| 训练图神经网络 | 利用生物医学知识图谱数据训练模型,以学习图中的潜在模式。 | 5% |
| 相关性排序分析 | 应用可解释性模块,突出显示与研究疾病最相关的节点和边。 | 2.5% |
| 链接预测 | 利用可解释性模块识别对新预测边有贡献的关键节点和边。 | 2.5% |
| 假设生成和/或验证 | 总计30% | |
| 用于检索增强生成的数据库设置 | 初始化图数据库以查询知识图谱,并初始化向量数据库以进行文本检索。 | 25% |
| 假设探索 | 支持用户与RUGGED交互,访问和审查相关信息以进行假设探索。 | 5% |
表1:工作流程与限速步骤。 本表提供了完成工作流程各阶段所需计算时间的粗略估计。限速步骤包括获取、提取和索引用于检索增强生成的生物医学知识。假设探索可连续重复进行,无需重新执行限速步骤。
| 疾病类别 | MeSH 树编号 | # PMIDs | # 原创性研究 | # 综述文章 |
| 心肌病(CM) | C14.280.238 | 132,531 | 102,337 | 19,942 |
| C14.280.434 | ||||
| 心律失常(ARR) | C14.280.067 | 125,286 | 92,374 | 13,854 |
| C23.550.073 | ||||
| 先天性心脏病(CHD) | C14.280.400 | 82,006 | 54,023 | 6,379 |
| 心脏瓣膜病(VD) | C14.280.484 | 72,016 | 50,119 | 5,743 |
| 心肌缺血(IHD) | C14.280.647 | 256,986 | 210,042 | 30,223 |
| 心脏传导系统疾病(CCD) | C14.280.123 | 53,050 | 35,399 | 4,363 |
| 心室流出道梗阻(VOO) | C14.280.955 | 22,244 | 15,504 | 1,686 |
| 其他心脏病(OTH) | C14.280.195 C14.280.282 C14.280.383 C14.280.470 C14.280.945 C14.280.459 C14.280.720 | 114,085 | 77,302 | 11,799 |
| 总计 | 635,696 | 478,404 | 69,690 |
表2:生物医学文献统计信息。 本表列出了研究疾病类别及其对应的MeSH树编号,以及截至2024年5月从PubMed检索到的文献数量,这些文献构成文本挖掘的语料库。其中一部分出版物(包括原创性研究论文和综述文章)被索引至向量数据库中,供RUGGED在假设生成过程中进行检索。
| 类别 | 节点数量 | 边数量 | 数据来源 |
| 解剖结构 | 5,049 | 122,533 | Bgee, PubMed, MeSH, Uberon, |
| 生物过程 | 27,047 | 108,106 | 基因本体(Gene Ontology) |
| 细胞组分 | 4,057 | 52,238 | 基因本体(Gene Ontology) |
| 化合物 | 27,278 | 3,292,028 | DrugBank, MeSH, CTD, UMLS, KEGG, TTD, SIDER, Inxight Drugs, Hetionet, PathFX, MyChem.info |
| 疾病 | 21,938 | 311,773 | PubMed, MeSH, DisGeNET, SIDER, ClinVar, ClinGen, PharmGKB, MyDisease.info, PathFX, UMLS, OMIM, Mondo, DOID, KEGG |
| 药物类别 | 5,721 | 8,283 | ATC |
| 基因 | 29,810 | 943,419 | HGNC, GRNdb, KEGG, ClinVar, ClinGen, |
| 分子功能 | 11,151 | 47,086 | SMPDB, DisGENET, PharmGKB, MyGene.info |
| 通路 | 52,012 | 234,944 | 基因本体(Gene Ontology) |
| 蛋白质 | 20,740 | 1,074,809 | Reactome, KEGG, SMPDB |
| 反应 | 14,647 | 128,038 | UniProt, Reactome, TTD, SMPDB, STRING, HGNC |
| 小计 | 219,450 | 6,323,257 | Reactome |
| 文本挖掘关联 | 8 | 4,670 | |
| 总计 | 219,458 | 6,327,927 |
表3:知识图谱统计信息。 该表格详细列出了构建的Know2BIO知识图谱所包含的11个广泛的生物医学类别,这些类别通过文本挖掘分析和预测分析获得的额外边关系进行了丰富。最终生成的知识图谱及预测结果由Neo4j图数据库进行管理,供RUGGED在假设生成过程中检索使用。
| 准确率 | 精确率 | 召回率 | F1分数 | AUROC | AUPRC | |
| 验证集 | 0.7158 | 0.6639 | 0.8743 | 0.7547 | 0.8437 | 0.8637 |
| 测试集 | 0.703 | 0.6367 | 0.9455 | 0.761 | 0.8961 | 0.9094 |
表4:可解释性人工智能模型评估。 本表报告了使用双层图卷积神经网络进行知识图谱链接预测的评估指标。通过将图边划分为85%训练集、5%验证集和10%测试集来评估各项指标。准确率(Accuracy)表示正确分类预测所占的比例。精确率(Precision)表示在所有阳性预测中正确阳性预测所占的比例。召回率(Recall)衡量在实际阳性边中正确阳性预测所占的比例。F1分数(F1-score)是精确率和召回率的调和平均数,用于平衡这两个指标。AUROC评估模型区分阳性与阴性预测的能力。AUPRC量化在不同阈值下精确率与召回率之间的权衡关系。所有指标中,数值越高表示模型性能越好。
补充文件 1:本文件详细展示了 RUGGED 的完整模型响应,并与 GPT-4o 进行了对比。第 A 部分呈现了与 RUGGED 完整的人机交互过程,扩展了图 3中概述的查询链方法,并提供了比图 4中突出显示的摘要更完整的响应内容。第 B 部分在无检索条件下评估 GPT-4o 的响应与 RUGGED 的响应,评估属性包括精确性、深度、置信度评分、证据可靠性以及成本。请点击此处下载该文件。
RUGGED 协议利用具有最新信息的现代语言模型,使研究人员能够动态探索不断发展的生物医学领域并发现新知识。这种人机交互推动了一种创新流程,体现了机器(RUGGED)的高效性以及研究人员的专业知识与判断力。本协议应按照规定的顺序执行。第 1 步详细说明软件安装过程;第 2 步和第 3 步对于准备生物医学文献和资源至关重要,而 第 4 步则对这些信息进行索引,以支持检索增强生成及用户与大语言模型(LLM)系统的交互。耗时较长的步骤可并行或串行运行。例如,Neo4j 图谱的构建(第 4.2.2 步)可在预测分析(第 3 步)期间开始,而索引过程可在知识图谱构建(第 2.3 步)和文本挖掘(第 2.1 步)完成后启动。必须重复执行这些步骤,才能将中间结果最终转化为完整成果。尽管本协议旨在用于生物医学信息检索,但经过少量修改后,也可处理其他类型的文本和图数据,例如内部数据、临床记录或电子健康档案。数据格式化的具体细节见第 4.2 步。
该平台的运行依赖于多种技术的正确安装与相互连接,包括语言模型、图数据库和向量数据库(参见材料表)。为验证这些服务是否已正确安装并连接,GitHub 仓库中的 `test` 文件夹提供了测试脚本。外部服务可能产生费用,价格由供应商决定并可能变动。这些可选服务也存在本地部署的替代方案,仅需具备足够的计算资源即可运行。然而,这些替代方案可能会影响模型性能和/或使用便利性,因此在某些应用场景下可能不适用。
随着大语言模型(LLM)领域的快速发展,新的里程碑式模型和面向特定任务的模型正被定期发布。在本报告撰写之时,已针对具体任务选择了最合适的模型。用户可通过相应地更新配置文件来选择所使用的LLM(参见步骤1.3.2–1.3.4)。模型的选择取决于其与特定应用场景的相关性。例如,将专注于确保模型响应具有公平性、经过审查且不含仇恨言论的模型73,74,75,76,77,78引入该工作流程,对于伦理考量至关重要。此外,提示工程对于引导LLM表现出可靠且负责任的行为至关重要79,80,81,82。为RUGGED工作流程设计的提示已针对所采用的模型和当前应用场景进行了定制。若需针对不同的应用场景对提示进行微调,用户可在RUGGED工作流程的 `configuration` 文件夹内的 `prompts.json` 文件中编辑相应提示。
尽管RAG系统旨在通过将大语言模型(LLM)的响应建立在证据基础上以减少幻觉现象,但这些模型仍可能导致信息不准确,或生成普遍正确但缺乏具体性的回答。RUGGED与GPT-4o的基准对比结果见补充文件1的B部分。当检索到的信息超出模型的上下文窗口时,常会出现模型幻觉,这种情况类似于因记忆丢失而无法定位数据内容的痴呆症,从而导致回应不准确83,84,85。选择合适的LLM模型有助于缓解这一问题。例如,GPT-4o的上下文长度限制为128k个token,远高于GPT-3.5 Turbo的16k token限制,尽管其使用成本更高。此外,使用特定领域知识进行微调的LLM有望提高在生物医学应用中响应的准确性与特异性86,87,88。尽管采取了上述措施,在开展成本较高的湿实验之前,仍必须对所得信息进行交叉验证。
RUGGED 在 RAG 流程中利用可解释的人工智能技术来审阅链接预测,识别出可靠关系以及先前未发现的关联。传统 RAG 系统依赖基于整体相似性的检索,而该方法将可解释性与针对性的响应增强相结合。表 4 突出了模型的出色表现,显示出高召回率(验证集:0.975,测试集:0.976)和均衡的 F1 分数(验证集:0.796,测试集:0.797),表明模型在识别真阳性方面具有可靠性,尽管假阳性率相对较高。模型的稳健性进一步由其 AUROC(验证集:0.963,测试集:0.964)和 AUPRC(验证集:0.971,测试集:0.972)值所支持。然而,精确率(验证集:0.673,测试集:0.674)仍有提升空间,可通过阈值调优、引入更详细的节点特征或改进类别不平衡的处理方式来优化。模型的有效性高度依赖于输入知识图谱的质量;在较小图谱上存在过拟合风险,而较大图谱则需要更高的计算资源。然而,任何基于 RAG 的方法都严重依赖于检索所依据数据的质量。例如,由于原始图谱中固有的噪声,构建知识图谱通常耗时且劳动密集。这需要人工进行去噪和标注,同时数据库的维护与更新也带来持续的成本。
RUGGED 的主要用途在于知识整合与假设探索。通过研究各种潜在关系(如疾病机制和药物治疗),RUGGED 能够高效地进行文献筛选。为减轻计算负担,大多数应用可部署在服务器(例如 AWS 或计算服务器)上,并配置为定期更新以获取最新信息。此外,该工作流程可进行调整以实现特定领域的应用,例如作为整合患者数据与本地模型的平台,以保障安全性、隐私性和保密性。除生物医学研究外,RUGGED 的模块化设计使其能够通过定制面向目标领域的 RAG 管道和提示工程策略,支持信息检索、推理和摘要生成等任务。成功实现适应性扩展需要仔细考虑特定领域的挑战,例如多样化数据格式的预处理,以及针对任务和领域需求选择合适的模型。
作者无任何利益冲突需要披露。
作者谨感谢 Alex Bui 博士提供的指导和富有见地的讨论。此外,感谢 Ding Wang 博士的有益交流。本研究部分由美国国立卫生研究院(NIH)资助项目 1U54HG012517-01(资助对象:P.P.、K.W. 和 W.W.);NIH T32 HL13945(资助对象:A.R.P.);美国国家科学基金会研究培训项目(NRT)1829071(资助对象:A.R.P.);以及加州大学洛杉矶分校(UCLA)的 TC Laubisch 基金(资助对象:P.P.)支持。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| 硬件/软件 - 显卡及驱动程序 | Nvidia | https://www.nvidia.com | 强烈推荐使用显卡及其配套的驱动软件,以显著缩短计算密集型任务(如本地大语言模型和预测分析)的运行时间。对于配备 NVIDIA RTX GPU 的设备,请从 NVIDIA 官网(https://developer.nvidia.com/cuda-downloads)下载并安装必要的驱动程序和 CUDA 工具包。 |
| 软件 - 商用大语言模型服务 | OpenAI | https://openai.com | RUGGED 支持 OpenAI API,包括 GPT-3.5 和 GPT-4o 等模型。若要使用 OpenAI 模型,首先需获取 OpenAI API 密钥。请访问 OpenAI 官网(https://openai.com/blog/openai-api)注册账户、充值并获取 API 密钥。该 API 密钥是启用 RUGGED 使用 OpenAI 模型所必需的。请根据其文档(https://platform.openai.com/docs/models)确定 RUGGED 系统中哪些 LLM 代理将使用 OpenAI 模型。 注意:OpenAI API 为付费服务。在本文发表时,GPT-4o 的使用费用为每百万输入 token 5.00 美元,每百万输出 token 2.50 美元(更多详情请访问 https://openai.com/pricing)。 |
| 软件 - 容器化技术 | Docker | https://www.docker.com | Docker 有助于保持一致的计算运行环境,简化在不同机器上的软件安装与执行流程。要安装 Docker,请访问 Docker 官网(https://www.docker.com/),点击“开始使用”,下载并安装适用于操作系统的版本。在终端中输入 `docker --version` 以验证安装;若成功安装,将显示已安装的 Docker 版本。 |
| 软件 - 图数据库 | Neo4j | https://neo4j.com | Neo4j 是一种图数据库软件,可高效管理和查询基于图的节点与关系。RUGGED 支持多种形式的 Neo4j:Docker 容器、Neo4j Desktop 或 Neo4j AuraDB 在线服务器。请根据具体应用场景选择最合适的选项。 将 Neo4j 配置为 Docker 容器。运行以下命令在 Docker 中设置 Neo4j,其中文件夹路径(例如 /Users/username/RUGGED)用 'PATH_TO_FOLDER' 表示。有关故障排除的更多详情,请参阅 Neo4j Docker 官网(https://hub.docker.com/_/neo4j)。 docker pull neo4j docker run –name neo4j --net rugged_network --publish=7474:7474 --publish=7687:7687 -d -v 'PATH_TO_FOLDER'\neo4j\data:/data neo4j 注意:首次在 Docker 中初始化 Neo4j 时需设置用户名和密码。可通过运行 neo4j_setup.py 脚本(例如 python neo4j_setup.py)或通过 http://localhost:7474 的网页界面完成初始化。 配置 Neo4j Desktop。若使用 Neo4j Desktop,请从 Neo4j 官网(https://neo4j.com/)下载并安装。点击“新建”创建新项目,然后点击“添加”创建新的数据库管理系统(DBMS)。选择“本地 DBMS”,设置密码,点击“创建”,然后点击“启动”。“ACTIVE”显示为绿色表示正在运行。"""""""""""" 配置 Neo4j AuraDB。访问 Neo4j 官网(https://neo4j.com/cloud/aura-free/)创建账户并登录。选择“新建实例”以创建一个空实例,并保存用于访问 bolt 接口的 URI 和初始密码(例如 bolt://myurl.neo4j.com)。点击播放按钮启动实例,信息框中将显示连接 URI。"" 注意:Neo4j AuraDB 提供免费层级,最多支持 200,000 个节点和 400,000 个关系。对于更大规模的图,请访问 Neo4j 定价页面(https://neo4j.com/pricing)。 |
| 软件 - 本地大语言模型服务 | Ollama | https://ollama.com | RUGGED 支持使用 Ollama 运行本地模型(例如 Llama3)。要启用此功能,首先需在设备上安装 Ollama 或下载其 Docker 容器。要安装 Ollama,请访问 Ollama 官网(https://ollama.com/download)并按照安装说明操作。要在 Docker 中安装 Ollama,请运行以下命令: docker pull ollama/ollama 注意:在本文发表时,Ollama 尚未发布适用于 Windows 操作系统的稳定版本。 |
| 软件 - 版本控制 | Git | https://www.git-scm.com | 版本控制软件可实现软件的高效安装与更新。要安装 Git,请访问 Git 官网(https://www.git-scm.com/),点击“下载”,下载并安装适用于操作系统的版本。在终端中输入 `git --version` 以验证安装;若成功安装,将显示已安装的 Git 版本。 |