AIGC:【LLM(三)】——JARVIS:连接ChatGPT和HuggingFace解决AI问题

如何使用Hugging Face微调大语言模型(LLMs) 微调LLM时,了解你的使用场景和要解决的问题至关重要。这将帮助你选择合适的模型,或者帮助你创建一个数据集来微调你的模型。如果你还没有定义你的使用场景,你可能需要重新思考。并非所有的使用场景都需要微调,建议在微调你自己的模型之前,先评估和尝试已经微调过的模型或基于API的模型。例如,我们将使用以下使用场景:我们想要微调一个模型,它可以基于自然语言指令生成SQL查询,然后可以集成到我们的BI工具中。目标是减少创建SQL查询所需的时间,并使非技术用户更容易创建SQL查询。 阅读详情

0.摘要

解决具有不同领域和模态的复杂人工智能任务是通往人工通用智能的关键骤。尽管存在丰富的适用于不同领域和模态的人工智能模型,但它们无法处理复杂的人工智能任务。考虑到大型语言模型(LLMs)在语言理解、生成、交互和推理方面表现出色,我们主张LLMs可以作为一个控制器来管理现有的人工智能模型,以解决复杂的人工智能任务,并认为语言可以成为一种通用接口来增强这一过程。基于这一理念,我们提出了HuggingGPT框架,利用LLMs(例如ChatGPT)连接机器学习社区(例如Hugging Face)中的各种人工智能模型来解决人工智能任务。具体而言,当接收到用户请求时,我们使用ChatGPT进行任务规划,根据Hugging Face中可用的功能描述选择模型,使用所选的人工智能模型执行每个子任务,并根据执行结果进行响应汇总。通过利用ChatGPT的强大语言能力和Hugging Face中丰富的人工智能模型,HuggingGPT能够覆盖各种模态和领域中的众多复杂人工智能任务,并在语言、视觉、语音和其他具有挑战性的任务中取得令人印象深刻的结果,为实现人工通用智能铺平了一条新的道路。

1.引言

大型语言模型(LLMs),如ChatGPT,由于在各种自然语言处理(NLP)任务上的出色性能,引起了学术界和工业界的巨大关注。基于大规模文本语料库的预训练和人类反馈的强化学习(RLHF),LLMs在语言理解、生成、交互和推理方面具有优越的能力。LLMs的强大能力还推动了许多新兴的研究课题(例如上下文学习,指令学习和思维链提示),进一步探索LLMs的巨大潜力,并为我们构建先进的人工智能系统带来了无限可能性。

尽管取得了这些伟大的成功,当前的LLM技术仍然存在不完善之处,并面临着构建先进AI系统的一些紧迫挑战。我们从以下几个方面进行讨论:

  1. 目前的LLMs受限于文本生成的输入和输出形式,无法处理复杂的信息,如视觉和语音,尽管它们在NLP任务中取得了显著成就;
  2. 在现实场景中,一些复杂任务通常由多个子任务组成,因此需要多个模型的调度和协作,这也超出了语言模型的能力范围;
  3. 对于一些具有挑战性的任务,LLMs在零样本或少样本设置下展示出优秀的结果,但仍然比一些专家(例如,微调模型)弱。如何解决这些问题可能是LLMs走向人工通用智能的关键一步。

在本文中,我们指出为了处理复杂的人工智能任务,LLMs应该能够与外部模型协调合作以发挥它们的能力。因此,关键问题是如何选择适当的中间件来连接LLMs和人工智能模型之间的联系。为了解决这个问题,我们注意到每个人工智能模型都可以通过总结其功能来用语言形式描述。因此,我们引入了一个概念:“语言是LLMs连接人工智能模型的通用接口”。换句话说,通过将这些模型描述融入提示中,LLMs可以被视为管理人工智能模型的大脑,例如进行规划、调度和协作。因此,这种策略使得LLMs能够调用外部模型来解决人工智能任务。然而,当涉及将多个人工智能模型整合到LLMs中时,另一个挑战出现了:解决众多人工智能任务需要收集大量高质量的模型描述,这反过来需要进行大量的提示工程。巧合的是,我们注意到一些公开的机器学习社区通常提供各种适用的模型,并为解决特定的人工智能任务(如语言、视觉、语音等)提供明确定义的模型描述。这些观察给我们带来了一些灵感:我们能否通过基于语言的接口将LLMs(例如ChatGPT)与公共机器学习社区(例如GitHub、Hugging Face等)连接起来,以解决复杂的人工智能任务?

因此,在本文中,我们提出了一个名为HuggingGPT的系统,用于连接LLMs(即ChatGPT)和机器学习社区(即Hugging Face),该系统可以处理来自不同模态的输入并自主解决众多复杂的人工智能任务。具体而言,对于Hugging Face中的每个人工智能模型,我们使用其在库中的相应模型描述,并将其融入到提示中以建立与ChatGPT的连接。随后,在我们的系统中,LLMs(即ChatGPT)将充当大脑,确定用户问题的答案。正如图1所示,HuggingGPT的整个过程可以分为四个阶段:
• 任务规划:使用ChatGPT分析用户的请求,理解其意图,并通过提示将其拆分为可能可解决的任务。
• 模型选择:为了解决规划的任务,ChatGPT根据模型描述从Hugging Face上选择托管的专家模型。
• 任务执行:调用和执行每个选定的模型,并将结果返回给ChatGPT。
• 响应生成:最后,利用ChatGPT集成所有模型的预测结果,并为用户生成响应。

在这里插入图片描述

得益于这样的设计,HuggingGPT能够根据用户请求自动生成计划,并使用外部模型,从而集成多模态感知能力并处理多个复杂的人工智能任务。更值得注意的是,这个流程还允许HuggingGPT不断吸收来自任务专家的能力,实现可增长和可扩展的人工智能能力。此外,我们还指出,在HuggingGPT中,任务规划起着非常重要的作用,直接决定了后续工作流程的成功与否。因此,如何进行规划也是反映LLMs能力的一个好的视角,也为LLMs的评估开辟了新的途径。总体而言,我们的贡献可以总结如下:

  1. 为了补充大型语言模型和专家模型的优势,我们提出了具有模型间合作协议的HuggingGPT。HuggingGPT将LLMs应用于规划和决策,自动调用和执行每个特定任务的专家模型,为设计通用人工智能解决方案提供了一种新的方式。
  2. 通过将Hugging Face平台与ChatGPT周围的众多任务特定模型集成,HuggingGPT能够处理涵盖多个模态和领域的广义人工智能任务。通过模型的开放协作,HuggingGPT可以为用户提供多模态和可靠的对话服务。
  3. 我们指出了任务规划在HuggingGPT(以及自主代理)中的重要性,并制定了一些用于衡量LLMs在规划方面能力的实验评估方法。
  4. 在语言、视觉、语音和跨模态等多个具有挑战性的人工智能任务上进行了广泛的实验证明了HuggingGPT在理解和解决来自多个模态和领域的复杂任务方面的能力和巨大潜力。
    在这里插入图片描述

2.相关工作

近年来,自然语言处理(NLP)领域在大型语言模型(LLMs)的出现下发生了革命性变化,例如GPT-3 、GPT-4、PaLM 和LLaMa等模型。由于其庞大的语料库和密集的训练计算,LLMs在零样本和少样本任务以及数学问题和常识推理等更复杂的任务中表现出令人印象深刻的能力。为了将大型语言模型(LLMs)的范围扩展到文本生成之外,当代研究可以分为两个分支:1)一些工作已经设计了统一的多模态语言模型来解决各种人工智能任务[21, 22, 23]。例如,Flamingo结合了预训练的视觉和语言模型进行感知和推理。BLIP-2 利用Q-former来协调语言和视觉语义,而Kosmos-1 则将视觉输入融入到文本序列中,以融合语言和视觉输入。2)最近,一些研究人员开始探索在LLMs中使用工具或模型的整合[24, 25, 26, 27, 28]。Toolformer是首个将外部API标签引入文本序列的先驱性工作,促进了LLMs访问外部工具的能力。因此,许多工作已经扩展了LLMs以涵盖视觉模态。Visual ChatGPT将BLIP和ControlNet等视觉基础模型与LLMs融合在一起。Visual Programming和ViperGPT通过使用编程语言,将LLMs应用于可视化对象,并将视觉查询解析为表示为Python代码的可解释步骤。我们还在附录B中对相关工作进行了更多讨论。

与这些方法不同,我们提出的HuggingGPT在以下几个方面推进了更通用的人工智能能力:1)HuggingGPT使用LLM作为接口将用户请求路由到专家模型,有效地将LLM的语言理解能力与其他专家模型的专业知识相结合;2)HuggingGPT不仅限于视觉感知任务,通过LLM组织模型之间的合作,可以处理任何模态或领域的任务。得益于HuggingGPT中任务规划的设计,我们的系统可以自动、高效地生成任务流程并解决更复杂的问题;3)HuggingGPT提供了一种更开放的模型选择方法,基于模型描述分配和组织任务。通过仅提供模型描述,HuggingGPT可以持续且方便地集成来自AI社区的各种专家模型,而无需改变任何结构或提示设置。这种开放和持续的方式使我们离实现人工通用智能更近了一步。

3.HuggingGPT

HuggingGPT是一个用于解决人工智能任务的协作系统,它由一个大型语言模型(LLM)和来自机器学习社区的许多专家模型组成。它的工作流程包括四个阶段:任务规划、模型选择、任务执行和响应生成,如图2所示。给定用户的请求,我们的HuggingGPT采用LLM作为控制器,将自动部署整个工作流程,从而协调和执行专家模型以实现目标。表1展示了我们HuggingGPT中详细的提示设计。我们将在以下各小节中介绍每个阶段的设计。

3.1 任务规划

通常,在现实世界的场景中,许多用户请求会包含一些复杂的意图,因此需要协调多个子任务来实现目标。因此,我们将任务规划作为HuggingGPT的第一个阶段,旨在使用LLM分析用户请求,然后将其分解为一系列结构化任务。此外,我们还要求LLM确定这些分解任务的依赖关系和执行顺序,以建立它们之间的连接。为了更好地提示LLM进行有效的任务规划,HuggingGPT采用了一种提示设计,包括基于规范的指令和基于演示的解析。我们将在下面的段落中介绍这些细节。

基于规范的指令 为了更好地表示用户请求的预期任务并在后续阶段使用它们,我们期望LLM能够按照一些规范(例如JSON格式)解析任务。因此,我们为任务提供了一个统一的模板,并指示LLM通过槽位填充进行任务解析。如表1所示,任务解析的模板包括四个槽位(“task”、“id”、“dep"和"args”),用于表示任务的信息、唯一标识符、依赖关系和参数。有关每个槽位的详细信息可以在模板描述中找到(请参阅附录A.1.1)。通过遵循这些任务规范,HuggingGPT可以自动地利用LLM分析用户请求并相应地解析任务。
在这里插入图片描述

基于演示的解析 为了更好地理解任务规划的意图和标准,HuggingGPT在提示中加入了多个演示。每个演示包括一个用户请求及其相应的输出,代表了解析任务的预期顺序。通过考虑任务之间的依赖关系,这些演示帮助HuggingGPT理解任务之间的逻辑连接,从而准确确定执行顺序和识别资源依赖关系。我们的演示设计如表1所示。此外,为了支持更全面的用户请求(例如,多轮对话),我们通过添加以下指示将聊天记录并入提示中:为了辅助任务规划,聊天记录可作为{{ Chat Logs }}使用,您可以追踪用户提到的资源并将其纳入任务规划中。其中,{{ Chat Logs }}代表之前的聊天记录。这样的设计使得HuggingGPT能够更好地管理上下文,并在多轮对话中回答用户请求。

3.2 模型选择

在任务规划之后,HuggingGPT接下来需要将任务和模型进行匹配,即为解析的任务列表中的每个任务选择最合适的模型。为此,我们使用模型描述作为语言接口来连接每个模型。具体而言,我们首先从机器学习社区(例如Hugging Face)获取专家模型的描述,然后通过一种上下文任务-模型分配机制动态地为任务选择模型。这种策略实现了增量式的模型访问(仅需提供专家模型的描述),能够更加开放和灵活地使用机器学习社区。更多细节将在下一段介绍。

上下文任务-模型分配 我们将任务-模型分配问题形式化为单选问题,在给定上下文中将潜在模型作为选项呈现。通常情况下,根据提示中提供的用户查询和任务信息,HuggingGPT能够为每个解析的任务选择最合适的模型。然而,由于最大上下文长度的限制,一个提示不可能包含所有相关模型信息。为了解决这个问题,我们首先根据任务类型筛选模型,只保留与当前任务类型匹配的模型。对于这些选定的模型,我们将根据它们在Hugging Face上的下载数量对它们进行排名(我们认为下载数量在一定程度上能够反映模型的质量),然后选择排名前K的模型作为HuggingGPT的候选模型。这种策略可以大大减少提示中的标记使用量,并有效地为每个任务选择适当的模型。

3.3 任务执行

一旦为解析的任务分配了特定的模型,下一步就是执行任务,即进行模型推理。因此,在这个阶段,HuggingGPT将自动将这些任务参数输入到模型中,执行这些模型以获得推理结果,然后将结果发送回LLM。在这个阶段,资源依赖性的问题需要强调。由于先决任务的输出是动态生成的,HuggingGPT在启动任务之前还需要动态指定任务的依赖资源。因此,在这个阶段建立具有资源依赖性的任务之间的连接是具有挑战性的。

资源依赖性 为了解决这个问题,我们使用一个独特的符号“”来维护资源依赖关系。具体而言,HuggingGPT将先决任务生成的资源标识为-task_id,其中task_id是先决任务的任务ID。在任务规划阶段,如果有任务依赖于由task_id任务生成的资源,HuggingGPT将此符号设置为任务参数中相应资源子字段的值。然后在任务执行阶段,HuggingGPT会动态地用先决任务生成的资源替换这个符号。因此,这个简单的策略使得HuggingGPT能够在任务执行过程中高效处理资源依赖关系。

此外,在获取了没有任何资源依赖关系的任务后,我们将并行执行这些任务,以进一步提高推理效率。这意味着可以同时启动满足先决依赖关系的多个任务。此外,为了加速和计算稳定性,我们还提供了一个混合推理端点来部署这些模型。

3.4 响应生成

在完成所有任务执行之后,HuggingGPT需要生成最终的响应。就像表1中所示,HuggingGPT将前三个阶段(任务规划、模型选择和任务执行)的所有信息整合到这个阶段的简洁摘要中,包括计划任务的列表、任务的选定模型以及模型的推理结果。

其中最重要的是推理结果,这是HuggingGPT做出最终决策的关键点。这些推理结果以结构化的格式呈现,例如目标检测模型中带有检测概率的边界框,问答模型中的答案分布等。HuggingGPT允许LLM接收这些结构化的推理结果作为输入,并以友好的人类语言形式生成响应。此外,LLM不仅仅是简单地汇总结果,还生成主动响应用户请求的响应,提供具有置信水平的可靠决策。
在这里插入图片描述

4.限制

HuggingGPT提出了设计AI解决方案的新范式,但我们要强调它仍然存在一些限制或改进空间:1)HuggingGPT在规划方面严重依赖LLM的能力。因此,我们无法保证生成的计划始终是可行和最优的。因此,探索优化LLM以增强其规划能力至关重要;2)效率是我们框架中的一个常见挑战。为了构建这样一个协作系统(即HuggingGPT)并实现任务自动化,它严重依赖于一个强大的控制器(例如ChatGPT)。然而,HuggingGPT需要在整个工作流程中与LLM进行多次交互,这导致生成响应的时间成本增加;3)在使用LLM时,令牌长度是另一个常见问题,因为最大令牌长度总是有限的。尽管一些工作已将最大长度扩展到32K,但如果我们想连接大量模型,这仍然是不足够的。因此,如何简要有效地总结模型描述也值得探索;4)不稳定性主要是由于LLM通常是不可控的。尽管LLM在生成方面很擅长,但在预测过程中仍可能无法遵循指令或给出错误答案,导致程序工作流程中出现异常。在设计系统时应考虑如何减少这些不确定性。

5.结论

在本文中,我们提出了一个名为HuggingGPT的系统,用于解决AI任务,以语言作为将LLMs与AI模型连接起来的接口。我们系统的原则是,LLM可以被视为一个控制器,用于管理AI模型,并可以利用来自Hugging Face等ML社区的模型自动解决用户的不同请求。通过利用LLMs在理解和推理方面的优势,HuggingGPT可以分析用户的意图,并将其分解为多个子任务。然后,根据专家模型描述,HuggingGPT能够为每个任务分配最合适的模型,并整合来自不同模型的结果生成最终的响应。通过利用机器学习社区中众多AI模型的能力,HuggingGPT展示了在解决具有挑战性的AI任务方面的巨大潜力,从而为实现人工通用智能铺平了一条新的道路。

6.参考资料

HuggingGPT报道:https://mp.weixin.qq.com/s/x9nihEI6uhbouFTR-0hqQg
HuggingGPT论文:https://arxiv.org/pdf/2303.17580.pdf
HuggingGPT代码:https://github.com/microsoft/JARVIS

搭建简单的chatbot并部署到HuggingFace上 通过Code Demo的方式介绍如何调用ChatGPT的ChatCompletion接口完成聊天任务,使用Gradio完成简单的UI封装,并部署到HuggingFace上 阅读详情

相关推荐

JARVIS: 微软打造的人工智能协作系统

JARVIS是微软开发的一个创新性人工智能协作系统,旨在探索通用人工智能(AGI)并为整个AI社区提供前沿研究成果。该系统由一个大型语言模型(LLM)作为控制器,以及众多来自Hugging Face的专家模型作为协作执行器组成。JARVIS的核心理念是利用语言作为接口,将LLM与各种AI模型连接起来,以解决复杂的AI任务。JARVIS项目展示了通过语言模型作为控制器,结合专业AI模型作为执行器的创新方法,为解决复杂AI任务提供了新的思路。它不仅是一个强大的AI协作系统,也是探索通用人工智能的重要平台。

2401_87458778的博客 2084

Hugging Face开源力作:探索五款顶尖LLM,GPT之外的选择

之前,我们分享了国内一些开源的大型语言模型(LLM)。今天,我想向大家介绍在Hugging Face平台上发现的一些国际上备受关注、被誉为超越GPT的LLM。对于熟悉LLM的朋友们而言,你们一定知道这些模型的强大之处:它们能够根据输入内容生成多样化的文本。这些模型经过大量数据训练,能够灵活模仿不同的写作风格、体裁和文本类型,其强大功能和多样性使它们在众多场景中发挥作用,例如文本摘要、问题解答和文本创作等。但为什么会说这些模型超越了GPT呢?

2401_84204207的博客 1256

HuggingGPT - 小记

它就能帮你自动分析需要哪些AI模型,然后直接去调用HuggingFace上的相应模型,来帮你执行并完成。只要给定一个AI任务,例如“下面这张图片里有什么动物,每种有几只”。整个过程,你要做的就只是用自然语言将你的需求输出。可理解为:HuggingFace+ChatGPT。由浙大与微软亚研院的合作研发。

AI工程化、开源分享、文档翻译、代码笔记 450

AI之JARVIS:JARVIS(连接众多 AI 模型以解决复杂 AI 任务的接口/可理解为一种超智能AI模型管家,正开发中)的简介、安装、使用方法之详细攻略

​ AI之JARVIS:JARVIS(连接众多 AI 模型以解决复杂 AI 任务的接口/可理解为一种超智能AI模型管家,正开发中)的简介、安装、使用方法之详细攻略 目录 JARVIS(一种超智能AI模型管家)的简介 JARVIS(一种超智能AI模型管家)的安装 JARVIS(一种超智能AI模型管家)的使用方法 JARVIS(一种超智能AI模型管家)的简介 语言作为 LLM 连接众多 AI 模型以解决复杂 AI 任务的接口。JARVIS(引入了一个协作系统,该系统由作为控制器的 LLM

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 3606

JARVIS:基于LLM控制万种API的架构

Language serves as an interface for LLMs to connect numerous AI models for solving complicated AI tasks! See our paper: [HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in HuggingFace](http://arxiv.org/abs/2303.17580), Yongliang Shen, Kaitao Song, Xu Tan, Dongsheng Li, Weiming Lu and Yueting Zhuang (the first two authors contribute equally)

深度强化学习算法PPO训练Pendulum

returnadv = 0print('状态空间维度:', state_n)print('动作空间维度:', action_n)steps = []if done:breakif done:breakelse:steps = []if done:break。

weixin_43336108的博客 804

危!AI调包侠,命将不久!ChatGPT将取而代之!HuggingGPT给出警告!

丰色 发自 凹非寺 量子位 | 公众号 QbitAIHuggingFace+ChatGPT ——HuggingGPT,它来了!只要给定一个AI任务,例如“下面这张图片里有什么动物,每种有几只”。它就能帮你自动分析需要哪些AI模型,然后直接去调用HuggingFace上的相应模型,来帮你执行并完成。整个过程,你要做的就只是用自然语言将你的需求输出。这项由浙大与微软亚研院的合作成果,一经发布就迅速爆...

idol24的博客 326

OPC DCOM详细配置方法 - 不关防火墙不换登陆用户

1. 前言   OPC DCOM的设置是实现跨网络OPC通信的基础,现有的一些OPC DCOM配置教程虽然讲解了如何配置DCOM,但没有讲清楚为什么要这么做,而且各个教程涉及的配置方法也不尽相同。   为了彻底搞清楚OPC DCOM的配置过程,我重新做了两台机器的系统,一台是Windows 7 32位,一台是Windows 10 64位,并且重零开始完整的测试了正常运行OPC DCOM所需的最少的...

steventian72的博客 3万+

huggingface TRL是如何实现20B-LLM+Lora+RLHF

如下图,这里Reference logits作为奖励模型,获得得分,与InstructGPT不同(一个GPT3,一个6B的),作者是用了两个相同的模型,只不过reference model 去掉了adapter。在以前的 RLHF,我们需要复制两个模型(具体如下图,在损失函数公式上也有体现)的到每一个GPU上,随着模型尺寸的增大,这对单卡的情况很吃不消的。如果你使用AdamW优化器,每个参数需要8个字节(例如,如果你的模型有1B个参数,模型的完整AdamW优化器将需要8GB的GPU内存来源)。

Hanze的博客 2873

ArcGIS拓扑检查实战:5分钟搞定面重叠与缝隙问题(附详细截图)

本文详细介绍了如何使用ArcGIS进行拓扑检查,快速解决面重叠与缝隙问题。通过搭建拓扑检查环境、配置拓扑规则、五步闪电修复法及批量处理技巧,帮助用户高效完成数据修正,提升GIS数据质量。特别适合地籍管理、规划红线等场景应用。

z4a5b6的博客 732

超详细的YOLOv8安装与测试指南:让计算机视觉任务变得简单

python3+、Anaconda3或Miniconda3 Ultralytics提供了多种安装方法,包括pip、conda和Docker。通过pip包安装最新稳定版的YOLOv8,或者克隆Ultralytics GitHub仓库以获取最新版本。Docker可用于在隔离容器中执行包,避免本地安装。 最简单直接的方式就是直接使用pip方法直接安装。 也可以直接从GitHub仓库安装包。如果你想要最新的开发版本,这可能会很有用。确保你的系统上安装了Git命令行工具

CDBmax的博客 1万+

GPT不是唯一选择:Hugging Face五款优秀的开源LLM

Hugging Face不仅是一个平台,它更像是一个资源库,汇集了超过12万个模型、2万个数据集以及5万个演示应用(Spaces),这些资源都是开源的,对公众开放。

Langchain的博客 1407

如何构建智能聊天系统

聊天分为听、思考、读,简单的通过ASR、LLM、TTS三类模型的组合可以实现,最近openai推出支持多模态的GPT-4o模型,可以把三个模型真正融合成在一起。现在市面上的模型百花齐放,各有所长。要实现可落地的方案,需要结合业务,验证模型效果,同时也要考虑方案的可行性,有些模型在国内能用,有些在国内不能用。

xsgnzb的专栏 2102

llm入门01-Huggingface核心模块的使用

Tokenzier进行分词,分字及特殊字符–>对每一个token映射得到一个ID,并且得到一些辅助信息(当前词属于哪个句子。在使用时可能会因为网络的原因无法访问huggingface,可以采用科学上网,或者使用hf-mirror镜像即可解决问题。ps:注意attention_mask的设定,否则会计算padding。下一篇将记录模型基本训练方法。直接pip这个包即可。

weixin_47100065的博客 944

想使用dify实现docx文档的自动生成?试了一圈,感觉还是根据python-docx更靠谱

在软件开发过程中,需求文档、设计文档等材料的编写是每个开发者都绕不开的工作。最近笔者接到一个需要批量生成标准化需求文档的任务,尝试了目前热门的低代码工具Dify后,发现对于稍微复杂格式的文档生成需求(例如文本居中这么简单的需求),最终还是回归到基于python-docx库的解决方案。本文将分享两种技术路线的对比实践。

xiezhipu的博客 2544

PCIe协议之 Equalization篇 之 谈谈几种模式

对于两端有能力最高支持 32 GT/s 及以上速率的设备,如果把目标速度设置为 8 GT/s 或 16 GT/s 速率,是不建议采用 Bypass-Equalization-to-Highest-Rate 模式的,即便采用了,也不会针对 8 GT/s 或 16 GT/s 的目标速率进行 EQ。对于支持 32 GT/s 及以上速率的设备,其可能根本无需工作在 8 GT/s 或 16 GT/s 速率,这时再针对 8 GT/s 或 16 GT/s 速率进行 EQ,多少有点浪费。

那么菜的博客 554

在 Amazon SageMaker 上使用 Hugging Face LLM DLC 部署大型语言模型

本篇文章主要介绍如何使用新的 Hugging Face LLM 推理容器将开源 LLMs(比如BLOOM)部署到亚马逊 SageMaker 进行推理的示例。我们将部署 12BOpen Assistant Model,这是一款由开放助手计划训练的开源 Chat LLM。这个示例包括:设置开发环境获取全新 Hugging Face LLM DLC将开放助手 12B 部署到亚马逊 SageMaker...

亚马逊云科技专栏 2218

传感器应用案例:压力传感器在工业自动化中的应用_(13).压力传感器的数据采集与处理

数据采集系统(Data Acquisition System, DAS)是连接传感器和控制系统的重要桥梁。它包括硬件(如数据采集卡、信号调理器)和软件(如数据采集软件、数据处理算法)两部分。信号调理:将传感器输出的模拟信号转换为适合AD转换的信号。AD转换:将模拟信号转换为数字信号。数据传输:将数字信号传输到控制系统或上位机。存储:将采集的数据存储在本地或远程数据库中。实时性:保证数据的实时性和准确性。压力传感器的数据采集与处理是工业自动化中不可或缺的一部分。

2401_87715305的博客 1615

开源LLM微调训练指南:如何打造属于自己的LLM模型

今天我们来聊一聊关于LLM的微调训练,LLM应该算是目前当之无愧的最有影响力的AI技术。尽管它只是一个语言模型,但它具备理解和生成人类语言的能力,非常厉害!它可以革新各个行业,包括自然语言处理、机器翻译、内容创作和客户服务等,成为未来商业环境的重要组成部分。

FrenzyTechAI的博客 7892

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

下载了bert-base-chinese,为什么还会去连接Huggingface

他要做的就是判断你给的路径对不对,所以说,如果出现如题所说的问题,大概率是你给的路径不对。对于很多小伙伴来说,Huggingface是无法访问的,这是我们需要下载一下想要的模型,比如想使用Bert模型来做中文文本的训练就需要下好bert-base-chinese。当你找到了正确的路径,再把正确的路径给到from_pretrained(),就不会有如题所示的问题了。说明,我们下载好了bert-base-chinese,代码还试图去连接Huggingface,

weixin_46506910的博客 5686

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

探索智能助手新境界:Jarvis - 开源AI个人助手

Jarvis 是一款专为 Linux 和 macOS 系统打造的开源 AI 个人助手,旨在通过智能化的方式简化用户的日常任务处理。无论是查询天气、设置提醒,还是管理文件、获取新闻资讯,Jarvis 都能提供便捷高效的支持,让你的工作与生活更加轻松。 ## 🚀 强大功能,一站式解决日常需求 Jarvis 拥有丰富的插件生态,涵盖了生活、工作、学习等多个领域。在 [jarviscli/plugi

gitblog_00097的博客 1382

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

了解 LLMOps、架构模式、如何在本地或云端评估、微调和部署 HuggingFace 生成式 AI 模型。

奖励模型通常是小型二元分类器,基于较小的语言模型,如。

php源码 2045

Jarvis: 一个革命性的人工智能语音助手

Jarvis代表了人工智能语音助手的未来发展方向。它不仅仅是一个技术产品,更是改变人们生活方式的重要工具。随着AI技术的不断进步,我们有理由相信,Jarvis将在推动人机交互革命中发挥越来越重要的作用。无论是个人用户还是企业,都可以从Jarvis带来的便利和效率中受益。让我们共同期待Jarvis为我们开启的智能新时代!

2401_87189860的博客 1036

如何用JARVIS实现统一接口设计:LLM调用的终极解决方案

JARVIS是一个革命性的AI系统,它通过统一接口设计将大型语言模型(LLM)与机器学习社区连接起来,为开发者提供了LLM调用的终极解决方案。这个系统通过智能任务规划、模型选择和统一执行框架,让复杂的AI任务变得简单易用。 ## 🤖 什么是JARVIS系统? JARVIS是一个协作系统,由**LLM作为控制器**和**众多专家模型作为协作执行器**组成。它能够理解用户意图、规划任务、调度Hu

gitblog_00464的博客 471

LLM----BERT+HuggingFace理论及基础入门实战

在BERT的输入序列的最开始,会添加一个特殊的标记[CLS]。这个标记的作用是作为整个输入序列的代表,用于后续的分类任务。例如,在情感分析任务中,模型会基于这个标记的输出向量来判断整个句子的情感倾向。这在处理成对的句子或段落时特别有用,比如问答任务中的问题和答案,或者句子关系判断任务中的两个句子。运用到的是transformer的编码器结构,可以用于文本的相似度计算、序列标注、文本分类。BERT模型考虑了所有的上下文,GPT只考虑了之前的n-1刻的前文。BERT 采取的是「分字」,即每一个汉字都切开。

weixin_42264784的博客 1406

微调 LLM 以构建任务型对话 Agent

例如,用户在首问中没有提供全部的必填槽位, Agent 将发起槽位的追问,对于 Agent 的追问,用户可能认真的回答槽位信息,也有可能发起闲聊,还有可能改变了主意,问了一个新的问题,不同的转移路径我们可以设置不同的概率,例如上面的转移路径我们根据经验分为设置概率为 [0.8, 0.1, 0.1]。这里我们构造了 5 个任务,分别是根据实时汇率转换货币金额,了解某个地区的习俗和文化特点,根据用户的位置或兴趣,推荐附近的博物馆,根据自己的位置、兴趣和预算,推荐当地的餐厅以及查询去某个目的地的交通方式。

zhishi0000的博客 866
上一篇: 【日常笔记】20230619——修改Linux镜像源
下一篇: AIGC:【LLM(四)】——LangChain+ChatGLM:本地知识库问答方案
J_Xiong0117
博客等级 码龄13年 709粉丝 334原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值