
AI相关学习
文章平均质量分 80
AI相关学习
pumpkin84514
这个作者很懒,什么都没留下…
展开
-
通过java工程识别领域模型
识别业务相关类:根据类名和字段识别可能的领域实体。分析类字段和方法:通过类的字段和方法确认它们是否代表了业务概念。分析 RESTful API:通过控制器方法和请求体/响应体识别领域模型。分析 MyBatis 映射:通过 MyBatis 映射文件识别数据库表和领域模型的关系。构建领域模型文档:将上述信息整合成文档,帮助理解系统的领域架构。原创 2025-01-20 23:21:51 · 574 阅读 · 0 评论 -
Python 来分析现有的 Java 项目
通过 Python,我们可以分析现有的 Java 项目,提取 Spring + MyBatis 架构的关键信息。解析 Maven 项目结构:提取依赖和模块信息。解析 Spring 配置:提取与@Service等相关的类和方法。解析 MyBatis 配置:提取 SQL 映射和查询。**静态分析 Java 代码**:提取类、方法、注解等信息。5.自动生成架构设计:生成类图、API 文档等。。原创 2025-01-20 23:09:49 · 1035 阅读 · 0 评论 -
提示词处理问题的三种方法
通过精心设计引导**思维链(Chain of Thought)**的高级提示词,可以使模型在处理问题时更加深入和系统。问题摘要(Step Back):通过引导模型从高层次抽象出问题本质,避免关注不必要的细节。问题分解(Decomposition):通过将复杂问题拆解成更小的子问题,逐步推理并解决。问题假设(HyDE):通过构建不同的假设,引导模型推理多种可能的情境,帮助评估最佳解决方案。这种方法可以帮助模型逐步推理、精确分析,从而解决更复杂、更加不确定的问题。原创 2025-01-16 22:03:39 · 1013 阅读 · 0 评论 -
Self-RAG
Self-RAG 是一种将生成模型与自我引用增强结合的技术,通过在生成过程中多次引用和修正自己的输出,来提升模型生成的质量。它能够通过层层推理和自我改进,逐步产生更高质量的答案,尤其适合于复杂的推理任务。尽管存在计算成本和潜在的错误积累问题,但这种方法为生成式AI带来了新的思维方式和更高的解答精度。原创 2025-01-16 22:03:10 · 1195 阅读 · 0 评论 -
RAG多路召回
是指在信息检索系统中,为了提升检索的全面性和准确性,通过多条不同的检索路径或不同的检索策略来获取信息的技术。多路召回的核心思想是,单一的检索路径可能会遗漏一些重要的信息或没有覆盖所有可能相关的内容,因此需要并行或串行地采用多种检索方法来提高最终的召回率和准确性。多路召回通过多个检索策略和模型的并行运行,能够提升信息检索的多样性和精准度。模型中,多路召回通常用于增强检索阶段的多样性和精准度。通过结合不同的召回策略,系统能够在多个来源或角度中获取信息,从而改善生成模型的输入质量和最终生成的答案。原创 2025-01-15 00:42:25 · 1759 阅读 · 0 评论 -
RAG检索前改进
通过以上。原创 2025-01-15 00:27:44 · 923 阅读 · 0 评论 -
RAG 带来的一些问题
虽然。原创 2025-01-14 23:30:15 · 1139 阅读 · 0 评论 -
RAG 测评基线
RAG 基线的设立是通过定义一组衡量标准,来评估和分类不同的业务、项目、指标或任务的表现。原创 2025-01-14 23:24:46 · 563 阅读 · 0 评论 -
Obsidian学习笔记
Obsidian 是一个功能强大且灵活的知识管理工具,适用于需要组织、管理和链接大量信息的用户。它的双向链接、图谱视图、插件扩展等特性,使其在个人知识管理、学习笔记、研究记录、项目管理等方面非常有效。通过合理使用 Obsidian 的链接、标签、图谱视图等功能,可以轻松创建一个个人化的知识库,并从中发现信息之间的关联,提升工作和学习的效率。原创 2025-01-11 23:52:36 · 1248 阅读 · 0 评论 -
TensorFlow 介绍
TensorFlow是一个开源的深度学习框架,由 Google 开发和维护,主要用于构建和训练机器学习模型。它支持大规模的神经网络训练,并且能够在多种平台(如桌面、服务器、移动设备、Web 和云平台)上运行。TensorFlow 提供了强大的工具、库和社区支持,适用于从简单的机器学习任务到复杂的深度学习应用。TensorFlow 是一个强大的深度学习框架,适合用于构建、训练和部署机器学习模型。通过高层的 API 如tf.keras,你可以快速构建神经网络,并通过丰富的功能进行优化、调试和部署。原创 2025-01-08 23:28:16 · 882 阅读 · 0 评论 -
什么是cline?
Cline 是一个功能强大的 AI 编程助手,专为 Visual Studio Code(VSCode)设计。它通过结合大语言模型(如 Claude、GPT 等)和工具链,帮助开发者自动化任务、生成代码、执行命令等。Cline 通过分析项目的目录结构和代码语义提供上下文支持。原创 2025-01-08 23:03:45 · 4528 阅读 · 0 评论 -
SonarQube 概述
是一个开源的代码质量管理平台,广泛用于持续检查代码的质量,包括检测代码中的错误、漏洞和不符合最佳实践的代码。SonarQube 可以与 CI/CD 流程结合,自动化地对代码进行静态分析,帮助开发团队提高代码的可维护性、可读性、安全性和性能。它支持多种编程语言,并通过提供详细的报告和实时反馈来帮助团队管理代码质量。原创 2024-12-22 21:26:43 · 1017 阅读 · 0 评论 -
Sourcegraph 概述
无论是在企业环境中管理多个微服务,还是在开源项目中协作,Sourcegraph 都能提高开发者的效率,减少对代码的理解和维护成本。Sourcegraph 是一个用于跨代码库的全局搜索和导航平台,它提供了强大的代码索引和搜索功能,支持跨不同版本、语言和平台的代码导航。Sourcegraph 提供了 IDE 插件,支持多种 IDE(如 VS Code、JetBrains 系列 IDE),使开发者能够在本地开发环境中直接访问 Sourcegraph 的搜索和跳转功能。原创 2024-12-22 21:22:52 · 972 阅读 · 0 评论 -
CodeSurfer 和 Tree-sitter对比
CodeSurfer 和 Tree-sitter 都是代码分析工具,但它们的设计理念、功能和使用场景有很大的不同。要决定在解析一个 C++ 项目 时选择哪个工具,我们需要全面对比它们的特点、优劣和适用场景。CodeSurfer:Tree-sitter:在解析一个 C++ 项目 时,下面是两者的表现:CodeSurfer 更适合用于 深入分析 和 理解复杂 C++ 项目。如果你的目标是对整个项目进行静态分析,理解控制流、函数调用关系、数据流等复杂行为,CodeSurfer 无疑是更合适的选择。它提供的控制流图原创 2024-12-21 23:02:39 · 1092 阅读 · 0 评论 -
CodeSurfer 介绍
通过自动生成源代码的控制流图、调用图和数据流图,CodeSurfer 使得开发者能够轻松理解复杂系统的架构和行为。通过对 C++ 项目的静态分析,CodeSurfer 帮助开发者清晰地了解代码的执行路径、函数间的依赖关系以及数据流动过程,从而提高代码质量、优化性能、避免错误。是一款强大的静态分析工具,能够通过静态分析生成代码的控制流图、调用图和数据流图等,帮助开发者深入理解复杂代码库的结构、行为和潜在问题。这会开始对项目中的源代码进行静态分析,识别出代码中的控制流、调用关系等,并生成相应的分析图。原创 2024-12-21 23:00:47 · 956 阅读 · 0 评论 -
tree-sitter 的 Queries 机制
是一个用于解析源代码的增量解析器生成工具和库。它可以将源代码解析成抽象语法树(AST),并支持实时、增量的代码分析,非常适合用于编辑器、IDE插件、代码分析工具等。Queries是 Tree-sitter 提供的一种模式匹配语言,用于在 AST 中查找特定的语法结构。匹配特定节点:如函数定义、结构体声明、宏定义等。捕获信息:提取匹配到的节点的具体信息,如函数名、参数列表等。简化代码分析:避免手动递归遍历 AST,实现高效的信息提取。根据你的需求,编写相应的 Query 模式。原创 2024-12-13 02:18:43 · 1374 阅读 · 0 评论 -
Merkle 树 应用在 代码工程
中,尤其是在大型项目中,可以帮助管理和验证代码的完整性、追踪代码变更、提高版本控制的效率等。通过将代码文件、类、函数等结构映射到 Merkle 树中,我们可以高效地验证代码库的任何变更,确保每个部分在不同开发环境、版本控制系统或分布式系统中的一致性。在大型项目的 CI/CD 流程中,利用 Merkle 树快速验证代码变更,避免了重复的全量检查,提高了验证效率。当需要对大量代码文件进行审查时,Merkle 树可以帮助缩小审查范围,只关注有变动的部分,从而提高审查效率。快速检查整个代码库的完整性。原创 2024-12-05 23:36:57 · 1119 阅读 · 0 评论 -
什么是 Merkle 树
(也称为哈希树)是一种特殊的树形数据结构,它的每个非叶子节点都是其子节点哈希值的哈希。Merkle 树是一种二叉树,每个叶子节点包含数据块的哈希值。然后,非叶子节点是其两个子节点的哈希值的哈希,直到根节点(又叫 Merkle 根)为止。当一个节点或数据块发生变化时,其哈希值会改变,从而导致根节点的哈希值改变。只需要检查根节点的哈希值是否一致,就能确认整个数据集的完整性。Merkle 树的主要用途是验证数据的完整性,尤其是在大型数据集或分布式系统中,能够有效减少验证数据时需要传输的数据量。原创 2024-12-05 23:34:29 · 940 阅读 · 0 评论 -
如何分块长文件中的 C 代码
通过合理分块,可以充分利用大模型的能力处理长代码文件,同时保持代码修改的准确性和高效性。方法,将代码拆分成逻辑片段供模型逐一处理。以下是几个可行的分块方法以及具体实现思路。当 C 文件代码过长,超出大模型的输入限制时,可以通过合理的。提取代码中的特定逻辑部分(如头文件、全局变量、结构体定义)。直接按每 N 行分割代码,同时确保不切断多行注释或字符串。如果代码中包含大量注释,可以根据注释标记分块。使用正则表达式识别 C 函数的定义。原创 2024-12-03 22:15:23 · 1178 阅读 · 0 评论 -
人工标注提升 RAG 查询的准确性
如果检索器返回的结果相关性低,则生成器生成的答案可能不准确(即幻觉问题)。将标注数据用于训练检索器。例如,利用 BERT 模型微调查询与文档的匹配。不确定性可以通过检索结果的相似度分数衡量。Pinecone 是一个流行的向量数据库,用于存储和检索嵌入向量。将知识库向量化,结合标签信息生成更语义化的向量。对检索结果进行人工评分,记录相关性。原创 2024-11-26 23:49:22 · 466 阅读 · 0 评论 -
数据工程流程
数据分析包括探索性数据分析(EDA)和统计建模,目的是挖掘数据特征,为决策提供依据。以上流程不仅涵盖了每个阶段的理论与实践,还为具体实现提供了代码示例,便于理解和应用!人工标注用于生成有监督学习所需的数据集。高质量标注是构建模型的重要基础。数据清洗是数据工程中的关键环节,用于提升数据质量,便于后续分析。数据采集是获取数据的第一步。数据构造包括特征工程、数据增强和数据集划分。API调用 / 爬取数据。生成统计报告 / 可视化。处理缺失值 / 异常值。特征工程 / 数据增强。原创 2024-11-26 23:35:18 · 797 阅读 · 0 评论 -
基于上下文的代码补全方案
基于上下文的代码补全方案主要是利用上下文信息(包括代码的语法、结构、历史模式、和当前输入)来预测和生成代码补全内容。以下是几种主流的代码补全方案,它们依赖不同的技术和应用场景。原创 2024-11-25 23:18:35 · 1474 阅读 · 0 评论 -
Ray 和 PyTorch
的开源框架,由 Meta(前 Facebook)推出。它以动态计算图为核心,支持灵活的模型构建、训练和调试,是目前最受欢迎的深度学习框架之一。的开源框架,提供了一个高效的、灵活的并行计算平台。它的核心功能是支持分布式计算,帮助开发者以简单的方式扩展 Python 应用程序。Ray 和 PyTorch 的结合可以在分布式深度学习中发挥巨大优势。以下示例展示了如何使用 Ray 的。尽管两者在定位上不同,但它们可以很好地结合在一起,特别是在分布式深度学习任务中。以下是使用 Ray 的。原创 2024-11-25 23:14:19 · 1192 阅读 · 0 评论 -
常用 Prompt 限定词
让模型扮演特定角色,以特定身份生成内容。根据受众调整生成内容的复杂度或风格。限定回答内容的范围或排除某些内容。控制输出的语气、风格或表达方式。用于控制生成结果的字数或篇幅。从特定时间或视角出发进行分析。明确指出需要避免的内容或行为。通过举例或比喻来增强解释性。用于指定输出的结构或格式。原创 2024-11-24 00:03:26 · 835 阅读 · 0 评论 -
什么是 CodeBERT?
CodeBERT 的使用不需要复杂的链接,只需要安装 Python 和相关的 Python 库。通过这种方式,你可以实现根据需求找到最匹配的代码,或者基于已有代码生成新的代码,从而提高开发效率。希望这个解释对你有帮助,如果还有不明白的地方,可以继续问我!它类似于一个“聪明的搜索引擎”或者“翻译器”,能够理解和处理代码以及相关的自然语言描述,比如需求说明或者注释。一旦你有了代码的向量表示,就可以用它来进行代码匹配、相似度比较等任务。假设你有多个代码文件,并且想找出最符合需求的代码。原创 2024-11-19 00:02:44 · 1825 阅读 · 0 评论 -
什么是 Faiss?
通过使用 Faiss,你可以非常快速地找到和给定输入最相似的内容,这对于需要处理大量数据(如代码、文本、图像等)的场景非常有用。,你可以将它理解为一个高效的“向量数据库”,你可以将很多向量存入其中,然后根据需求找到最相似的向量。Faiss 特别适合大规模数据,因为它经过优化,能在几百万甚至上亿的向量中快速找到最相似的结果。假设我们有一组数据,这些数据都是用向量表示的,例如我们有 5 个 128 维的向量。假设我们有一个新的查询向量,我们想找到和它最相似的向量。,它的用途、使用场景,以及如何安装和使用。原创 2024-11-19 00:02:12 · 1453 阅读 · 0 评论 -
优化需求类 Markdown 文件以提高 RAG 系统查询准确度
处理需求类的 Markdown 文件时,由于标题如“需求名称”、“功能描述”等过于通用,直接用于检索难以准确定位有价值的内容。因此需要对文件进行预处理,通过丰富标题语义、清洗文本、生成摘要、文本切分等步骤提高 RAG(Retrieval-Augmented Generation)系统的查询准确度。通过这样的预处理流程,可以显著提高需求文档在 RAG 系统中的查询准确度,满足用户快速查找需求信息的需求。对处理后的文本进行向量化和存储,以供后续检索使用。将文本切分为语义完整的片段,适合向量化处理。原创 2024-11-18 21:34:26 · 520 阅读 · 0 评论 -
提高 RAG 生成准确性
为了提高RAG优化检索模块:使用语义检索(Dense Retriever)来提高检索准确性。多轮检索与答案融合:通过多次检索,融合多个相关文档的信息来生成更全面的答案。强制引用检索信息:避免生成幻觉,确保生成的内容基于检索到的文档信息。使用强大的生成模型:通过使用更大规模的预训练生成模型来提高准确性。后处理与验证:对生成内容进行验证和审核,确保其可信度与一致性。每一步都可以针对具体的应用场景进一步优化,根据问题的复杂。原创 2024-11-15 22:53:17 · 1171 阅读 · 0 评论 -
常见 Mermaid 图表类型的 prompt 编写
以上为针对不同类型 Mermaid 图表的编写 prompt 示例及对应输出结果。这些示例展示了从描述场景到实际 Mermaid 代码生成的全过程,帮助理解每种图表如何通过明确的 prompt 描述进行有效生成。通过练习这些模板,你可以更好地引导 ChatGPT 为不同场景生成合适的 Mermaid 图表代码。原创 2024-09-13 00:03:38 · 1373 阅读 · 0 评论 -
TQA相关
ReAct Prompting 通过将模型的思考过程结构化为一系列步骤,使模型能够像人类一样进行推理、执行行动,并根据反馈不断调整,达到更高的任务完成效果。ReAct Prompting 与 TQA 模板为 LLM 的推理与行动提供了一套明确的框架,使其能够在复杂任务中更好地理解上下文,自动生成高质量的用户故事验收条件。如果 LLM 提出的问题包含了对操作的误解,那么需要修改用户故事,即调整模板中表示用户故事的部分。在每个步骤中,模型会进行推理思考、选择合适的行动,然后基于观察到的反馈继续调整推理。原创 2024-09-12 00:11:55 · 911 阅读 · 0 评论 -
GitHub Copilot使用
本文会用更通俗的语言,并提供更全面的用例和具体操作步骤,帮助你更好地使用 Copilot 进行代码编写和优化。原创 2024-09-09 00:03:04 · 1406 阅读 · 0 评论 -
如何用Langchain封装自定义语言模型
为了将一个自定义的语言模型集成到 LangChain 中,你需要创建一个类来继承类,并实现特定的方法。原创 2024-08-13 07:29:47 · 1007 阅读 · 0 评论 -
什么是 MLPerf?
MLPerf 是一个用于衡量机器学习硬件、软件和服务性能的标准化基准测试平台。它由 MLCommons 组织开发,该组织是由多家领先的科技公司和学术机构组成的。MLPerf 的目标是通过一系列标准化的基准测试任务和数据集,提供一个统一、客观的框架来评估和比较不同系统在执行机器学习任务时的性能。MLPerf 是一个重要的机器学习性能基准测试平台,通过标准化的任务和数据集,提供了一个统一、客观的框架来评估和比较不同系统的性能。它在推动技术进步、提供客观标准、促进标准化和市场影响力方面具有重要意义。原创 2024-07-21 19:55:34 · 2049 阅读 · 0 评论 -
中文词嵌入模型学习
中文词嵌入模型是一种将中文词语表示为固定维度的向量的技术。这些向量保留了词语之间的语义关系,使得相似的词在向量空间中距离更近。以下是关于中文词嵌入模型的详细介绍,包括其原理、特征以及如何使用。原创 2024-07-19 23:55:01 · 1509 阅读 · 0 评论 -
语料处理流程
处理语料(文本数据)是自然语言处理(NLP)项目中的关键步骤。这个过程通常包括以下几个步骤:数据收集、数据清理、数据预处理、特征提取和数据增强。原创 2024-07-19 23:51:04 · 1054 阅读 · 0 评论 -
LlamaInde相关学习
LlamaIndex 是一种工具,旨在通过向量化和索引技术增强大语言模型(LLM)与文档数据交互的效率和准确性。它特别适合在需要高效文档检索和信息查询的场景中使用。原创 2024-07-09 23:57:13 · 580 阅读 · 0 评论 -
结合Langchain来开发一个能够通过POST请求获取GPT回答的智能体
Langchain允许我们自定义链来调用外部API。在这里,我们将定义一个自定义的API链来处理POST请求。# 创建一个自定义函数来处理POST请求# 设定你的API URL和头文件# 定义请求体的模板# 创建一个Langchain的API链# 创建一个提示模板template="请回答以下问题:{input_text}"# 创建链。原创 2024-07-04 22:36:51 · 495 阅读 · 0 评论 -
Mojo 语言是什么?
Mojo 是一种新的编程语言,由Modular团队开发,旨在结合 Python 的易用性和底层系统编程语言的高性能。它尤其注重在 AI 和高性能计算领域的应用。Mojo 的开发目标是解决当前 Python 和 C++ 等语言在性能和开发效率上的不足。Mojo 是一门结合了 Python 的简洁和系统编程语言的高性能特点的新兴语言。它的出现旨在弥补 Python 在高性能计算中的不足,同时保持其开发体验的优势。对于需要高性能和硬件控制的应用,Mojo 提供了一种非常有前景的选择。原创 2024-07-04 00:17:23 · 921 阅读 · 0 评论 -
IPython相关了解
IPython 是一种增强的 Python 交互式解释器,它可以让你更方便地编写、调试和运行 Python 代码。你可以把它想象成一个比普通 Python 解释器更聪明、功能更丰富的工具,非常适合用来进行数据探索、科学计算和原型开发。配置文件你可以编辑 IPython 的配置文件来定制其行为。命令别名和快捷键可以定义自己的命令别名和快捷键,提高工作效率。自定义启动脚本你可以创建一个启动脚本,IPython 启动时自动执行,来加载常用的库和设置。原创 2024-06-28 22:08:32 · 1098 阅读 · 0 评论 -
Scikit-Learn的认识
Scikit-Learn,通常简称为sklearn,是一个基于 Python 的机器学习库。它建立在 NumPy、SciPy 和 Matplotlib 之上,提供了一系列简单高效的工具,用于数据分析和建模。Scikit-Learn 的目标是简单易用,灵活且易于扩展,使其成为机器学习入门和实战的绝佳选择。Scikit-Learn 是一个功能强大且易于使用的机器学习库,非常适合初学者和实践者。通过学习如何加载和预处理数据、选择和训练模型,以及如何评估模型表现,你可以快速掌握机器学习的基础知识,并应用于实际问题。原创 2024-06-28 21:56:31 · 1311 阅读 · 0 评论