LLM学习笔记(15)LangChain、LlamaIndex、LlamaIndex

Transformer 和 PyTorch 是什么关系?

TransformerPyTorch可以很好地配合使用,但它们并不是同一层面的工具。具体来说:

  • Transformer是一个神经网络的架构,最初用于自然语言处理,但也可以扩展到其他任务(如视觉)。它是一种模型结构。
  • PyTorch是一种深度学习框架,用于构建和训练神经网络,类似的框架还有TensorFlow。

在Hugging Face中,Transformer库实际上是基于PyTorch和TensorFlow的,它提供了一系列预构建的Transformer模型,这些模型可以用PyTorch或TensorFlow来进行训练和推理。因此,Transformer库中的模型可以与PyTorch一起使用,但它本身不是一个训练框架,而是一种利用这些训练框架来方便地构建和使用大模型的工具。

所以,PyTorch是深度学习的基础框架,而Transformer是一个具体的模型架构,二者不是对等的,但可以结合使用。

基础框架(Framework)

基础框架,比如PyTorchTensorFlow,就像是你盖房子时使用的工具和原材料的组合。你可以把它想象成建筑工地上的工具箱,里面有各种必备工具,比如锤子、钻头、测量工具,还有原材料,比如钢筋、水泥、砖块等等。

这些框架为你提供了:

  1. 工具:像自动微分张量操作等,帮助你计算梯度,构建神经网络,并优化模型。
  2. 库和函数:你可以用这些工具非常灵活地搭建神经网络,就像用砖块和水泥盖房子一样。

PyTorch和TensorFlow的主要功能是帮助你完成神经网络的实现、训练、调优等过程。因此,它们是提供构建和训练模型的基础工具和环境

具体的模型架构(Model Architecture)

具体的模型架构,比如Transformer,可以比喻成房屋的设计图纸。设计图决定了房子的整体结构,比如有几层楼、房间的布局、门窗的设计等等。

对于机器学习中的模型架构:

  • Transformer是一个特定的设计图,描述了神经网络是如何组织的,比如它有多少层,每一层做什么样的计算。
  • 它定义了神经网络的结构,例如哪些层相连,数据如何在层之间流动,以及模型如何处理输入和输出。

Transformer模型告诉你如何组织网络层,注意力机制如何应用在序列数据上,以及如何从中得到有效的表征。因此,模型架构是关于如何设计和组织模型的。

总结

深度学习框架(如 PyTorch)确实更加“底层”,因为它是用于构建和训练神经网络模型的工具,而Transformer只是一个具体的神经网络架构,它需要通过深度学习框架(如 PyTorch 或 TensorFlow)来实现和训练。因此,Transformer 是在 PyTorch 之上实现的。

深度学习框架 vs. 神经网络架构

  • 深度学习框架(PyTorch、TensorFlow)

    • 深度学习框架可以理解为工具箱,提供了各种底层工具,帮助开发者方便地实现神经网络的构建、训练、优化等步骤。
    • PyTorch 提供了对张量操作(类似于 NumPy 的高效数学运算)自动微分(方便梯度计算)、以及用于搭建神经网络的各种模块化组件。可以理解为在深度学习的世界里,PyTorch 是所有模型的基础构建工具。
  • 神经网络架构(Transformer)

    • Transformer 是一种具体的模型架构,用于解决特定的任务,例如自然语言处理(NLP)中的文本翻译、文本生成等。
    • 它描述了网络的层次结构(例如注意力机制、多头自注意力、前馈层等),以及这些层次如何连接和作用。
    • 要实现和训练 Transformer 模型,就需要使用深度学习框架,比如 PyTorch 或 TensorFlow。

例子

如果你要实现一个 Transformer 模型,你可以用 PyTorch 的基本组件来实现。例如:

  • PyTorch 的 nn.Linear 类来实现全连接层(前馈网络)。
  • PyTorch 的 torch.matmul 来实现矩阵乘法,用于计算注意力得分。
  • 自动微分功能(torch.autograd 来计算模型参数的梯度,从而优化模型。

所有这些基础操作都是由 PyTorch 提供的,而 Transformer 只是利用这些底层组件来定义自己的独特结构和计算逻辑。因此,Transformer 需要 PyTorch 来实现具体的神经网络层、训练过程,以及数据流的计算。

Prompt Engineering

一旦 Transformer 架构搭建完成并且模型经过训练,它就可以执行多种自然语言处理(NLP)任务,例如问答、情感分析、翻译、生成等等。

  • Prompt Engineering 是对与模型交互时输入的设计和优化。它在你使用 Transformer 模型时,帮助你构建合适的输入,确保模型生成你所期望的输出。
  • 例如,当你使用一个预训练的 Transformer 模型进行问答时,你需要给模型一个合理的问题描述,这个描述就是Prompt。通过设计不同的 Prompt,可以显著影响模型生成的回答质量。
  • 也就是说,Prompt Engineering 是在模型调用(运行时)阶段使用的,而不是在模型架构的实现阶段。

LLM Agent

什么是LLM Agent?

LLM Agent 是一种基于大语言模型(LLM)的智能代理系统,它不仅具备生成文本的能力,还能够通过执行复杂任务,充当主动交互的智能助手。虽然大语言模型(LLM)本身有着强大的文本生成和理解能力,但在实际应用中,单靠 LLM 本身是无法全面满足多样化和复杂的任务需求的。

主要特点和功能

  • 任务执行能力:LLM Agent 不仅能回答问题,还能执行多步骤任务,比如查找信息、生成文档、调用外部 API,甚至控制某些系统的行为。
  • 主动性:与普通的 LLM 不同,LLM Agent 更加主动,可以根据用户的请求做出一系列操作,而不只是简单的对话。它会结合现有的 LLM 模型和其他外部工具(例如搜索引擎、数据库查询、外部程序等)来完成任务。
  • 集成外部资源:LLM Agent 通常集成了多种工具和能力,如搜索工具、网络浏览工具等,可以根据用户的要求做出更为复杂的反应,而不仅限于生成语言。

不是取代,而是配合

LLM Agent 的引入并不是要取代 LLM,而是要与 LLM 配合,使 LLM 的潜力得以更好地发挥。以下是一些具体的例子:

  • 知识更新:LLM 只能基于它训练时的数据回答问题,但 LLM Agent 可以与在线信息源交互,从而为 LLM 提供最新的信息,补足 LLM 无法更新知识的缺陷。

  • 增强实用性:LLM Agent 可以决定使用哪种工具完成任务,从而增强 LLM 的实际应用能力。例如,对于数学计算,LLM Agent 可以调用计算器 API,而不是让 LLM 自己尝试去生成计算结果,这样不仅更准确,效率也更高。

  • 无缝集成多种能力:LLM Agent 可以把多种任务结合起来,而这些任务可能不只是语言生成。例如:

    • 调用 LlamaIndex 来高效查询企业内部的文档。
    • 使用 LangChain 来管理一系列任务的执行顺序,使得 LLM 调用和外部工具交互结合在一起,形成一个完整的自动化流程。

例子

假设你想开发一个智能助理系统,可以帮助你安排旅行计划,包括:

  1. 查询航班信息
  2. 分析航班的票价并推荐最优选择
  3. 生成一个包含旅行行程的摘要

在这种情况下,LLM 单独运行是无法实现全部需求的,原因是它无法主动调用外部服务或处理这些复杂的任务链条。而 LLM Agent 可以做到:

  • 首先主动调用航班 API,获取相关数据。
  • 接着使用 LLM 对这些数据进行分析。
  • 最后生成一个关于旅行行程的报告。

这种多步骤的复杂任务需要任务的主动执行、工具的集成以及信息的动态获取,而这些都是智能代理系统所擅长的。

实现方式

  • 在哪一步被实现?:LLM Agent 是在 LLM 实现之后的下一步,它是基于 LLM 的应用层。
  • 如何被实现?:LLM Agent 是在代码中实现的,它可以控制 LLM 的行为,并结合外部工具执行任务。例如,你可以用 Python 编写一个代理程序,利用预训练的 LLM 执行对话、调用 API、甚至控制某些设备的动作。
  • 实现什么功能?:LLM Agent 使 LLM 不再局限于单一的对话或文本生成,而可以被动地接受指令并主动执行更复杂的任务,甚至可以调用其他程序。例如,它可以和数据库、搜索引擎等结合,完成多步骤的任务。

LangChain

什么是LangChain?

  • LangChain 是一个框架,旨在帮助开发人员使用 LLM 来创建复杂的应用程序。它可以把多个步骤的操作链接在一起,形成一个连贯的工作流,从而更好地利用 LLM 的能力。
  • 它的目标是让开发者能够构建和管理多个 LLM 的调用以及与外部工具集成的复杂工作流
  • 它的核心作用是把 LLM 的能力整合进任务执行的链条中,比如通过 LLM 先分析一个输入,再生成查询,接着调用一个外部 API,最后再根据返回的数据生成最终的答案。
  • 比喻LangChain 就像是“高级自动化管道”,把办公室(即 LLM)的各个功能通过精心设计的流程连接起来,比如先接待访客,再帮助整理文件,然后联系其他部门完成任务,使得各个环节有条不紊地进行。

主要特点和功能:

  • 工作流管理:LangChain 可以将多个 LLM 的调用组织起来,使它们以逻辑步骤顺序进行。这些步骤可以包括 LLM 的调用,也可以包括外部操作,如数据库查询、API 请求等。
  • 任务链条(Chain):LangChain 通过将任务组织成一条“链”来完成复杂任务,这些链条中的每个步骤可以是一个不同的 LLM 调用或者是对某种工具的调用。
  • 模块化和可扩展性:LangChain 提供了一个模块化的方式来开发和管理 LLM 的应用,它允许开发者灵活地将 LLM 与其他功能模块集成,比如数据处理、API 调用等。

例子

假设你想要构建一个对话机器人,用户问的问题需要多个步骤来回答。比如:

  1. 用户:请告诉我今天的天气,并帮我生成一个关于天气的推文。
  2. 机器人工作流程:
    • 第一步:调用一个天气 API 来获取天气数据。
    • 第二步:使用一个 LLM(比如 GPT-3)来生成有关天气的描述性文本。
    • 第三步:生成推文格式的文本,并将其发送给用户。

LangChain 的作用就是将这些步骤按逻辑顺序进行组织,并通过调用 LLM 和其他工具,实现从原始输入到最终输出的整个过程。

实现方式

  • 在哪一步被实现?:LangChain 是在 LLM 和 LLM Agent 实现之后的应用工具。它不是用来训练 LLM 的,而是用来创建完整的任务链条
  • 如何被实现?:LangChain 将多个 LLM 调用与其他工具整合在一起,开发者通过编写工作流,控制 LLM 以及与外部工具(如 API、数据库)之间的交互。它会将多个 LLM 的调用组织成工作链(chain),实现连续的任务执行。
  • 实现什么功能?:LangChain 主要是为了方便开发者使用 LLM 完成复杂任务,例如一个任务需要多个步骤的对话、搜索和生成,它将这些步骤组织起来,实现从输入到输出的全自动化工作流。

LangChainLLM Agent 之间的关系

LangChainLLM Agent 的功能确实有一些重合的地方,特别是在处理复杂任务、集成外部工具、以及构建多步骤工作流的方面。但是,它们的应用侧重点和功能目标有所不同,各自解决的问题也有所不同,下面我们详细分析一下它们的相似点和不同点。

相似点

  1. 集成外部工具

    LLM AgentLangChain 都能够集成外部工具,例如数据库查询、API 调用等。它们都旨在让 LLM 不再局限于语言生成的任务,而是能够执行各种复杂的操作,尤其是在与外部资源结合时。
  2. 管理复杂的工作流

    LLM AgentLangChain 都能处理多步骤的复杂任务。无论是 LLM Agent 在执行任务的过程中分解步骤,还是 LangChain 将多个模型调用和工具整合起来形成任务链,二者都试图解决 LLM 在单一调用时处理复杂任务的局限性。
  3. 扩展 LLM 的功能

    它们都可以扩展 LLM 的功能,使得 LLM 不仅仅是对单个 Prompt 做出反应,而是能够更智能地与外部系统协作,以完成多样化的任务。

不同点

尽管它们有一些相似的功能,但 LangChain 和 LLM Agent 在概念和实现的侧重点上还是有显著差异的:

1. LLM Agent 的主要目标:任务自动化与执行

  • 主动执行任务:LLM Agent 是一个主动的智能系统,它可以在用户下达命令后,自主决定执行哪些任务,并与外部资源交互。它的目标是成为一个可以执行完整任务的“智能助理”。
  • 决策能力:LLM Agent 通常带有一定的“决策逻辑”,它能理解用户的高层次需求,并决定如何调用 LLM、如何执行外部任务。例如,当用户要求某个复杂任务时,LLM Agent 能够自主地选择最合适的外部工具,甚至可以和其他 Agent 协作来完成目标。

2. LangChain 的主要目标:构建任务链条和工作流

  • 模块化的任务链条:LangChain 的设计重点是让开发者可以构建和管理一系列任务的工作流,这些任务可能是 LLM 的调用,也可能是外部工具的交互。LangChain 并没有赋予模型主动执行的能力,而是提供了一种方式,让开发者定义复杂任务的执行步骤。
  • 工作流管理和灵活性:LangChain 侧重于提供一种框架,让开发者能够定义每个任务步骤的逻辑,并以链条的形式将它们连接起来。换句话说,LangChain 更像是流程编排工具,帮助开发者按照指定的顺序执行任务。这种模块化使得开发者可以灵活地组合不同的 LLM 和工具来实现目标。

举个例子说明差异

假设你想要创建一个智能客服系统,用户可以通过这个系统获得信息,并由系统帮助他们完成一些具体任务,例如预定机票、查询天气等。

  • LLM Agent 的实现方式

    • 用户输入:我想预订从北京到纽约的航班,并且想知道纽约的天气。
    • LLM Agent 会自主地理解这个输入,然后:
      1. 首先查询航班信息,获取从北京到纽约的可选航班。
      2. 然后调用天气 API 来获取纽约的天气情况。
      3. 最后把这些信息整理好,并向用户汇报结果。
    • LLM Agent 通过内置的逻辑和决策能力,主动调用合适的工具,最终完成整个任务。
  • LangChain 的实现方式

    • 开发者使用 LangChain 来定义任务链条。
      1. 第一步:调用一个外部 API 来获取航班信息。
      2. 第二步:调用另一个 API 获取天气信息。
      3. 第三步:将航班信息和天气信息整合在一起,通过 LLM 生成一段汇报给用户的自然语言。
    • 在这个过程中,LangChain 提供了一个框架,帮助开发者定义这些任务的执行顺序以及每一步的调用逻辑,但它本身并不会主动执行这些任务,而是开发者预先定义好工作流,LangChain 按照指定步骤去执行

总结:二者的侧重点和应用场景

  • LLM Agent 侧重于主动任务执行,结合 LLM 的语言能力以及外部工具的访问,成为一个可以“自主做决策”的智能助手。它通常应用于需要更高智能性、主动决策、与外部环境持续交互的场景。

  • LangChain 则更侧重于帮助开发者设计和管理复杂任务的执行流程,是一种工作流管理工具,用于组织和串联多个 LLM 或工具的调用。它适合那些需要开发者预先定义工作流程,并按照既定逻辑顺序执行的场景。

因此,尽管它们在集成外部工具和管理复杂任务上有相似之处,但 LLM Agent 更加强调自主性和主动执行,而 LangChain 则侧重于提供模块化的工作流构建框架,让开发者更灵活地安排和控制任务步骤。在很多应用场景中,这两个工具也可以协同使用,形成更强大的 LLM 应用系统。

LlamaIndex

什么是LlamaIndex?

LlamaIndex(之前称为 GPT Index)是一个工具,它的作用是让 LLM 更好地利用结构化或非结构化的数据。它主要通过创建数据的索引,帮助 LLM 高效地从中查找和利用信息。

可以理解为对数据集或数据库进行管理的工具,它的主要功能是为大语言模型(LLM)提供高效的数据访问和管理机制,使 LLM 可以更好地利用大型数据集中的信息,尤其是在需要从大量文本或其他数据中查找相关内容时。

主要特点和功能:

  • 数据索引创建:LlamaIndex 可以对大量的文档、数据集等创建索引,使得 LLM 可以快速访问和利用这些信息。
  • 知识检索:LlamaIndex 的主要任务是提高 LLM 的知识检索能力,帮助它在需要的时候快速查找并应用相关的数据。
  • 加速查询过程:当 LLM 面对大量数据(例如几百个文档)时,通过 LlamaIndex,可以避免逐个文档地逐字查找,而是利用索引快速找到相关内容,从而提高模型响应的效率。

例子

假设你有一个公司内部的知识库,包括大量的文档、指南和报告。如果你想让 LLM 变得足够智能,能够回答公司内部的各种问题,那么就可以使用 LlamaIndex 对这些文档建立索引。当用户提问时,LLM 会利用 LlamaIndex 提供的索引,快速找到最相关的信息,而不是从头开始阅读每个文档。这就类似于一个搜索引擎,用于高效查询内容。

实现方式

  • 在哪一步被实现?:LlamaIndex 是在你有大量信息要管理并供 LLM 使用时的一种工具。通常被集成到 LLM Agent 或 LangChain 中。
  • 如何被实现?:LlamaIndex 通过创建数据的索引,使 LLM 能够高效地从大量数据中查找和利用信息。开发者会使用它来对非结构化数据(比如一堆文本文件)建立索引,方便 LLM 进行快速查询。
  • 实现什么功能?:LlamaIndex 的作用是增强 LLM 的知识查询能力。如果 LLM 需要回答一个涉及到特定知识库的问题,它可以利用 LlamaIndex 快速查找到相关信息,而不是在大量非结构化文本中逐字查找。

三者之间的关系与作用场景

  1. LLM AgentLangChainLlamaIndex 都是用于增强 LLM 功能的工具,但它们的侧重点有所不同。
  2. LLM Agent 是为了让 LLM 更加主动,能够与外部资源结合,执行多步骤任务。
  3. LangChain 是用来构建工作流的工具,帮助 LLM 完成多步骤的任务,通过整合 LLM 调用和其他工具实现自动化操作。
  4. LlamaIndex 是为了提高 LLM 对数据的检索效率,使得 LLM 在面对大量数据时,能够快速找到需要的内容。

示例

假设你想要建立一个智能对话系统,用户可以问一些复杂的问题,比如“请帮我生成一个关于公司未来项目的预测报告”。为了实现这个目标:

  1. LLM Agent 可以理解用户的问题,并主动进行一系列步骤来完成这个任务。例如,它会分解任务:先查找公司现有的项目计划,然后生成预测报告。
  2. LangChain 可以帮助定义这些任务的执行顺序,组织整个任务链,比如“先检索数据,然后分析,最后生成报告”。
  3. LlamaIndex 则用来帮助 LLM 快速查找公司内部的大量项目计划文档,让信息检索变得更高效。

关系总结

  • PyTorch 提供了深度学习的基础工具,帮助开发者实现 Transformer 这样的神经网络架构。
  • 基于 Transformer 架构,可以训练出 LLM,它具备强大的自然语言理解和生成能力。
  • Prompt Engineering 在使用 LLM 时优化交互输入,确保 LLM 按照预期生成高质量的回答。
  • LLM Agent 扩展了 LLM 的能力,使它不仅能够对话,还能执行更复杂的任务。
  • LangChain 帮助将 LLM 的不同调用以及工具整合成工作链条,实现多步骤任务自动化。
  • LlamaIndex 增强了 LLM 对于大量数据的检索能力,使它在回答需要特定知识时更高效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/63217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一下,解决js内存溢出npm ERR! code ELIFECYCLEnpm ERR! errno 134 以及 errno 9009

项目是个老项目,依赖包也比较大,咱就按正常流程走一遍来详细解决这个问题,先看一下node版本,我用的是nvm管理的,详细可以看我的其他文章 友情提醒:如果项目比较老,包又大,又有一些需…

【Linux】gdb / cgdb 调试 + 进度条

🌻个人主页:路飞雪吖~ 🌠专栏:Linux 目录 一、Linux调试器-gdb 🌟开始使用 🌠小贴士: 🌟gdb指令 🌠小贴士: ✨watch 监视 ✨打条件断点 二、小程序----进…

【人工智能】大数据平台技术及应用

文章目录 前言一、大数据平台基本概念及发展趋势1、数据量爆发式增长,发数据蓬勃发展2、大数据到底是什么?3、大数据处理与传统数据处理的差异4、为什么要建立大数据平台?5、大数据平台开源架构-Hadoop6、华为云大数据平台架构 二、大数据技术…

ABAP - 系统集成之SAP的数据同步到OA(泛微E9)服务器数据库

需求背景 项目经理说每次OA下单都需要调用一次SAP的接口获取数据,导致效率太慢了,能否把SAP的数据保存到OA的数据库表里,这样OA可以直接从数据库表里获取数据效率快很多。思来想去,提供了两个方案。 在集群SAP节点下增加一个SQL S…

PHP语法学习(第三天)

老规矩,先回顾一下昨天学习的内容 PHP语法学习(第二天) 主要学习了PHP变量、变量的作用域、以及参数作用域。 今天由Tom来打开新的篇章 文章目录 echo 和 print 区别PHP echo 语句实例 PHP print 语句实例 PHP 数组创建数组利用array() 函数 数组的类型索引数组关联…

映射vim键位,基本功能键位表(未更完)

键位映射&#xff1a;建议使用jj代替esc,毕竟esc离手那么远 linux下修改方法是&#xff1a;vim /etc/vim/vimrc 在该文件尾添加inoremap jj <Esc>该方法可以同样可以用到其他键位映射上 i&#xff1a;表示这个映射是在插入模式&#xff08;insert mode&#xff09;下有效…

vue3+ts+vite+ElementPlus上传进度条实时更新(UPLoad和progress)。

需求&#xff1a; 上传文件时&#xff0c;展示进度条实时更新&#xff1a; 下面是代码片段: <!-- 添加媒体弹窗 -- 上传 --><el-dialog v-model"centerDialogVisible" title"媒体信息" width"700" :close-on-click-modal"false&qu…

MSSQL2022的一个错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序

MSSQL2022导入Excel的一个错误&#xff1a;未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序 一、导入情况二、问题发现三、问题解决 最近在安装新版SQLServer SSMS 2022后&#xff0c;每次导入Excel都会出现错误提示&#xff1a;未在本地计算机上注册“Microsoft.AC…

优傲协作机器人 Remote TCP Toolpath URCap(操作记录)

目录 一、新机设置项 1、设置管理员密码 2、设置安全密码 3、设置负载 二、激活 Remote TCP & Toolpath URCap 1、插入U盘 2、打开激活面板 3、导入许可证 4、查看是否激活成功 5、启用功能 三、使用流程&#xff08;官方&#xff09; 步骤一 步骤二 步骤三 …

【日常记录-Java】查看Maven本地仓库的位置

1. 简介 Maven本地仓库主要用于存储和管理项目所需的依赖项&#xff0c;如jar包、pom文件等。默认情况下&#xff0c;其位于用户家目录下的.m2/repository文件夹内。开发者也可以在Maven的配置文件settings.xml中修改本地仓库路径。 2. 方法 2.1 查看settings.xml文件 Maven本…

kafka 配置消息编码格式、解决消费者中文乱码

序列化 kafka 发送消息需要把key 和value 进行序列化处理 一般配置字符串方式&#xff0c;如果消息量大需要优化成其他方式。 代码配置 props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); props.put("val…

Apache Commons Chain 与 Spring Boot 整合:构建用户注册处理链

文章目录 概述1. 环境准备2. 创建自定义上下文3. 创建命令验证用户输入保存用户数据发送欢迎邮件 4. 构建并执行处理链5. 使用处理链6. 运行结果7. 总结 概述 本文档旨在展示如何在 Spring Boot 应用中使用 Apache Commons Chain 来实现一个用户注册的处理链。我们将通过 Chai…

电子商务人工智能指南 2/6 - 需求预测和库存管理

介绍 81% 的零售业高管表示&#xff0c; AI 至少在其组织中发挥了中等至完全的作用。然而&#xff0c;78% 的受访零售业高管表示&#xff0c;很难跟上不断发展的 AI 格局。 近年来&#xff0c;电子商务团队加快了适应新客户偏好和创造卓越数字购物体验的需求。采用 AI 不再是一…

OpenAI 推出了 Canvas 和 SearchGPT

今天的故事从 ChatGPT 推出的 Canvas 和 SearchGPT 开始。 ©作者|Ninja Geek 来源|神州问学 ChatGPT 在最近推出了令人兴奋的 Canvas 功能&#xff0c;Canvas 不仅带来了 ChatGPT 界面上的变化&#xff0c;还完全改变了人们撰写文档和书写代码的体验&#xff01; Canvas…

VMware虚拟机与国产操作系统安装及学习

今日任务&#xff1a; 虚拟化技术----操作系统的应用 非常重要的技术-----云计算技术的兴起-----云技术的核心就是虚拟化 传统计算-----&#xff08;《世纪之战》主演&#xff1a;刘青云 《暗算》主演&#xff1a;柳云龙 《功勋》 从算盘的演变到计算器----计算机----&#xff…

C# 中LINQ的详细介绍

文章目录 前言一、 LINQ 的基本概念二、查询语法与方法语法三、LINQ 的投影操作四、LINQ 的排序操作五、LINQ 的过滤操作六、LINQ 的分组操作七、LINQ 的连接操作八、LINQ 的聚合操作九、LINQ 的延迟执行十、LINQ 的错误处理十一、LINQ 的合并操作十二、LINQ 的自定义对象查询十…

Observability:用 OpenTelemetry 自动检测 Python 应用程序

作者&#xff1a;来自 Elastic Bahubali Shetti 了解如何使用 OpenTelemetry 自动检测 Python 应用程序。使用 Docker 文件中的标准命令&#xff0c;可以快速检测应用程序&#xff0c;而无需在多个位置编写代码&#xff0c;从而实现快速更改、扩展和更轻松的管理。 更多阅读&a…

利用tablesaw库简化表格数据分析

tableaw是处理表格数据的优秀工具。它提供了一组强大而灵活的功能&#xff0c;使操作、分析和可视化数据表变得容易。在这篇博文中&#xff0c;我们将介绍tableaw的主要特性、如何使用这些特性&#xff0c;以及如何使用tableaw处理表格数据的一些示例。 tablesaw简介 tableaw…

通过精密时间协议(PTP)对计算机网络中的多个设备进行时间同步

PTP 模块 - 使用教程 目录 PTP 模块 - 使用教程简介第 1 步&#xff1a;为主时钟创建一个 PTP 时钟实例第 2 步&#xff1a;添加 PTP 端口第 3 步&#xff1a;查询 PTP 时钟或 PTP 端口的状态第 4 步&#xff1a;清除 FAULTY 状态第 5 步&#xff1a;为 PTP 事件安装处理程序第…

【深度学习】利用Java DL4J 训练金融投资组合模型

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s…