大模型项目整体规划、技术选型和案例分析经验分享

项目整体规划

1.1 明确场景

  1. toB or toC(面向企业还是面向消费者)

    • toB(面向企业):指的是产品或服务主要面向其他企业或组织。这类产品通常需要解决特定的商业问题,强调效率和集成性,并且可能需要定制化服务。
    • toC(面向消费者):指的是产品或服务直接面向最终用户。这类产品通常更加注重用户体验、易用性和娱乐性。
  2. 准确度要求,合规性要求

    • 准确度要求:根据应用场景的不同,对AI的输出结果的准确性要求也会有所不同。例如,在医疗诊断领域,准确度要求极高,而在推荐系统中,准确度要求相对较低。
    • 合规性要求:某些行业(如金融、医疗等)有严格的法律法规要求,AI系统必须遵守这些规定,确保数据处理、隐私保护等方面的合规性。
  3. 替代人还是辅助人

    • 替代人:指的是AI系统能够完全取代人类的工作,如自动化流水线上的机器人。
    • 辅助人:指的是AI系统作为人类的助手,帮助提高工作效率或完成某些任务,如智能助手、推荐系统等。
  4. 一次交付 vs 反复迭代

    • 一次交付:在某些项目中,客户可能希望一次性交付一个完整的AI系统,后续不需要频繁更新或迭代。
    • 反复迭代:在许多情况下,AI系统需要不断地更新和优化,以适应不断变化的环境或用户需求。这需要持续的数据收集、分析和模型调整。
  5. 产品边界的划分

    • 产品边界指的是产品功能的范围和限制。明确产品边界有助于确定AI系统的功能、性能和责任范围,避免因过度承诺而导致的风险和责任问题。

1.2 技术选型

  1. 高质量训练数据

    • 在技术选型时,首先要考虑的是是否有充足的高质量训练数据。高质量数据是指那些真实、准确、全面并且能够代表实际应用场景的数据。数据的真实性和代表性直接影响模型的训练效果和泛化能力。
  2. 算力vs数据vs模型

    • 算力:指的是硬件的计算能力。A100 80G的卡一张FP16 40B表示拥有强大的浮点运算能力,这对于训练大规模和复杂的模型非常重要。
    • 数据:是AI系统的燃料。即使拥有强大的算力,如果数据质量不高或数据量不足,模型的性能也会受到影响。
    • 模型:是AI系统的核心,它决定了如何从数据中学习。模型的选择和设计需要根据问题的复杂性和数据的特性来决定。
  3. 推理时间:在线vs离线

    • 推理时间指的是模型在接收到输入后给出预测结果所需的时间。
    • 在线推理要求模型能够快速响应,通常用于实时性要求高的场景,如在线推荐、实时监控等。
    • 离线推理则允许模型在较长时间内给出结果,适用于对实时性要求不高的场景,如批量数据处理、历史数据分析等。
  4. 规则系统

    • 规则系统:在某些应用中,尤其是对可解释性要求高的场景,规则系统是一个重要的技术选型。规则系统基于明确的逻辑和规则进行决策,易于理解和解释。
    • 解决badcase能力:规则系统在处理特定的问题时,可以通过精细化的规则设计来避免模型常见的错误,从而提高系统的整体性能。
  5. 产品运营

    • 产品运营是指AI产品上线后的持续管理和优化过程。它包括数据监控、性能评估、用户反馈收集、模型迭代更新等。
    • 产品运营的目的是确保AI产品能够持续满足用户需求,发现并解决潜在问题,提升用户体验。

1.3 如何选择合适的大模型

选择合适的大模型涉及到多个方面的考量,包括硬件兼容性、应用场景、模型的能力以及可用的开源大模型。
  1. 硬件驱动

    • 不同的模型可能对硬件有特定的要求,因此在选择模型时需要考虑可用的硬件资源。例如,4090、V100、A10、A600、A100等不同型号的GPU卡有着不同的计算能力和内存容量,这会影响到模型的选择和性能。
  2. 场景驱动

    • 通用问题vs专业问题:通用问题通常需要模型具有广泛的知识和理解能力,而专业问题可能需要模型在特定领域有深入的理解和专业知识。
    • 英文vs中文:不同的语言可能需要不同的模型架构和训练数据,因此需要根据应用场景的语言要求选择合适的模型。
  3. 常见主流开源大模型

    • 清华chatglm6B:由清华大学开发的开源聊天机器人模型,适用于通用对话和问答场景。
    • 通义千问 13B 72B:阿里巴巴开发的通用预训练模型,适用于多种自然语言处理任务。
    • Llama系列,百川,零一万物:这些是其他开源的大型预训练模型,各自有不同的特点和优势,适用于各种自然语言处理任务。

技术选型

2.1 大模型的能力

  1. 知识能力:

    • RAG:一种结合了检索和生成能力的模型,能够利用外部知识库来增强回答问题的能力。
    • 例如,模型能够回答“生孩子能休几天产假?”这样的知识性问题。
  2. 逻辑能力:

    • 逻辑能力是指模型理解和应用逻辑推理的能力。例如,模型能够理解“生鱼片其实是死鱼片”这样的逻辑性陈述。
    • 百度弱智吧:这可能是指百度贴吧中的一个社区,其中的讨论可能涉及到逻辑推理或幽默表达。
  3. 推理能力:

    • 推理能力是指模型能够进行逻辑推断和合理推理的能力。例如,模型能够回答“男职工能否休产假?”这样的问题,需要对相关法律法规和社会习俗有一定的了解。

2.2 主流大模型对比

2.3 ChatGLM-6B

ChatGLM-6B 是一个大型预训练语言模型,它具备以下特点和能力:

  1. 中英双语预训练

    • ChatGLM2-6B 在中英双语的语料上进行了大量的预训练,总训练量达到了1.4T的token量。这种1:1比例的中英语料训练确保了模型在中英文处理上具有均衡和卓越的能力。与初代ChatGLM-6B相比,其双语性能得到了显著提升。
  2. 部署门槛较低

    • 在FP16半精度下,ChatGLM-6B的推理需要至少13GB的显存。但是,通过结合模型量化技术,这一显存需求可以进一步降低,例如,使用INT8量化可以降低到10GB,而使用INT4量化可以降低到6GB。这使得ChatGLM-6B能够部署在消费级显卡上,大大降低了部署的硬件门槛。
  3. 更长的序列长度

    • ChatGLM-6B能够处理的序列长度达到了2048,而ChatGLM2-6B更是支持高达8192的序列长度。这意味着模型能够处理更长的对话和应用,对于需要处理长文本的场景非常有利。
  4. 人类意图对齐训练

    • ChatGLM-6B采用了多种训练方法来提高对人类指令意图的理解,包括监督微调、反馈自助和人类反馈强化学习等。这些方法使得模型能够更好地理解人类的指令意图,并据此进行响应。

2.4 英伟达历代产品参数

国产平替:昇腾910B

2.5 辅助方法

大语言模型通常基于通识知识进行训练,因此在面向垂直领域知识和基于私有数据的问答时,常常需要借助:
  1. 模型微调
  2. Prompt工程
  3. RAG

2.6 常见的微调方法

2.7 领域大模型训练trick

2.8 推理参数设置

  1. 确定性采样

    • 这种方法直接输出概率最大的词或标记,也称为贪婪解码。它简单且速度快,但可能会导致输出缺乏多样性。
  2. Beamsearch

    • Beamsearch是一种启发式搜索算法,用于序列生成任务。它在每一步都保留多个(称为束大小或beam size)最有潜力的候选序列,并最终选择得分最高的序列作为输出。Beamsearch可以提高输出的质量,但计算成本较高,并且不适合流式输出。
  3. 随机采样

    • 随机采样根据模型的输出概率分布随机选择下一个词或标记。这种方法可以为输出带来多样性,但也可能导致输出质量的不稳定。
  4. topK采样

    • topK采样从模型输出的概率分布中选出概率最高的K个词或标记,然后从中随机选择下一个词或标记。例如,如果topK=3,且概率分布为a(0.9), b(0.001), c(0.001),则可能只考虑a。这种方法可以平衡输出的质量和多样性。
  5. topP采样(核采样)

    • topP采样与topK采样类似,但它不是选出概率最高的K个词,而是选出累计概率达到某个阈值P的所有词,然后从这些词中随机选择。例如,如果topP=0.8,且概率分布为a(0.3), b(0.2), c(0.2),则可能考虑a和b。这种方法可以动态调整采样的多样性。
  6. 流式输出 vs 批量输出

    • 流式输出是指模型在生成文本时实时输出每个词或标记,适合需要实时响应的应用场景。
    • 批量输出是指模型先生成整个序列,然后再一次性输出,适合对实时性要求不高的场景。

案例分析

3.1 办公大模型

一个入口,多个功能

3.2 办公大模型Agent

3.2.1 意图识别
意图识别和槽位解析模型框架图:意图识别作为流量入口,具有极高的可复用价值和丰富的场景,对于新场景,本框架可有 效的解决开发时间,实现0代码的复用。
重要性:精调>参数量
3.2.2 对话系统
通过对企业制度进行预训练,形成问答知识库用于精确问答和生成式问答两种方式,构建企业核心知识大脑。制度问答框架已打造成标准化解决方案,主要包括知识库管理和兜底大模型,并结合知识图谱、违规审核等技术实现知识精细化管理和运 营,可低成本快速复制,用户仅需完成个性化数据标注工作,即可实现0代码的定制化接入。

3.3 对话系统-知识管理流程

3.4 内容生成能力

3.5 AI核稿-纠错、内容安全审核

3.6 摘要生成

3.7 图像生成

4 问题解答

4.1 知识库问答(KBQA)

知识库问答(KBQA)是自然语言处理中的一个任务,它旨在使知识库中的信息通过自然语言查询变得可访问。用户输入查询语句,系统需要在知识库中找到相关信息并生成回答。这个过程涉及到信息的匹配、召回和排序:

  1. 知识库问答的问题

    • 知识库问答的主要挑战之一是确保查询语句与知识库中的信息准确匹配。如果用户输入的查询语句是无关字符(如“abcd”),而知识库中恰好有这些字符的条目,系统可能会错误地匹配并生成不相关或错误的回答。这种情况会导致知识库问答系统失去精准性。
  2. 匹配

    • 匹配是指将用户的查询语句与知识库中的条目对应起来的过程。匹配的准确性直接影响到最终回答的准确性。
  3. 召回和排序

    • 召回是指从知识库中检索出所有可能与查询语句相关的条目。
    • 排序是指根据某些标准(如相关性)对召回的条目进行排序,以便选择最合适的条目来生成回答。
  4. 倒排索引

    • 倒排索引是一种常用的信息检索技术,它可以帮助快速定位知识库中包含特定词汇的条目。在知识库问答中,倒排索引可以用于加速查询语句的匹配过程。
  5. 向量匹配

    • 向量匹配是指使用向量的相似度来衡量查询语句与知识库条目的匹配程度。这种方法通常涉及到将查询语句和知识库条目转换为向量表示,然后计算它们之间的相似度。向量匹配可以捕获语义上的相似性,而不仅仅是词汇上的匹配。

4.2 Agent问题

在讨论Agent的问题时,通常指的是如何设计和实现一个能够被精准调用的软件代理(Agent),它可以在特定的环境中执行任务。Langchain是一种可以将不同工具和Agent连接起来的框架,以便它们可以协同工作:

  1. 如何让Langchain精准地调用到一个Agent

    • 为了让Langchain精准地调用到一个Agent,需要确保Agent被正确地注册和配置在Langchain框架中。这通常涉及到定义Agent的接口,包括它能够处理的输入类型和输出的类型。在Langchain中,这可能意味着需要为Agent创建一个明确的API端点或函数调用接口。
  2. 如何编写Agent

    • 编写Agent时,需要确定它的职责和功能。Agent应该能够接收输入,处理这些输入,并返回相应的输出。在编写时,应该考虑到输入的多样性和可能的错误处理。Agent的实现可能涉及到编写新的代码,或者封装和集成现有的工具或服务。
  3. Agent调度问题不是知识性的问题

    • 这句话指的是Agent的调度(即决定何时调用哪个Agent)通常不是一个基于知识库的问题,而是一个关于系统设计和流程控制的问题。调度可能需要根据系统的状态、用户的需求或特定的触发条件来决定。
  4. 把模型训练成分类模型

    • 在某些情况下,可以将模型训练成一个分类模型,以便根据输入数据的特征将其分类到不同的处理路径。这种方法可以用于决定哪个Agent应该处理给定的输入。
  5. 指定格式可穷举的输出

    • 这意味着Agent的输出可以被限定在一个预先定义的、有限的格式集合中。这样做可以简化系统的设计和实现,因为可以预测和枚举所有可能的输出情况。

4.3 大模型如何实现任务理解

大模型如何实现任务理解,尤其是在处理复杂多任务时,涉及到模型的设计、训练和推理等多个方面:
  1. 意图识别

    • 意图识别是指模型能够理解用户的输入并确定其背后的意图。在大模型中,这通常通过预训练和微调来实现,使得模型能够根据上下文和语义理解用户的意图。
  2. 多分类

    • 多分类是指模型能够将输入数据分类到多个预定义的类别中的一个。在大模型中,这可以通过在预训练阶段使用多样化的数据集,然后在微调阶段针对特定的任务进行调整来实现。
  3. 多标签

    • 多标签分类是指模型能够为每个输入分配多个标签。这与多分类不同,后者每个输入只分配一个标签。在大模型中实现多标签分类通常需要对模型进行特定的微调,以使其能够处理多个相关的输出。
  4. 微调还是使用提示工程

    • 微调是指在大模型的基础上,使用特定任务的标注数据来进一步训练模型,以提升模型在该任务上的性能。
    • 提示工程(Prompt Engineering)是一种技术,通过为模型提供特定的提示或指令来引导模型生成期望的输出。提示工程可以用于增强模型在特定任务上的表现,而不需要进行微调。
    • 对于复杂多任务的理解,微调可以使模型更好地适应特定的任务要求,而提示工程则提供了一种更灵活、更快速的方法来指导模型的输出。

4.4 语料库构建

语料库构建是自然语言处理(NLP)中至关重要的一环,它涉及到收集、整理和加工用于训练和评估语言模型的数据:
  1. 语料库构建的手段

    • 开源数据集:使用公开可用的数据集是构建语料库的一种常见手段。这些数据集通常由研究机构、大学或公司发布,并可以在互联网上免费获取。
    • 人工手写:对于一些特定的任务,可能需要通过人工编写样本来构建语料库。这种方法可以确保数据的质量和多样性,但成本较高。
    • 大模型拓展:使用大型预训练模型来生成新的数据样本,以扩展语料库。这种方法可以快速生成大量数据,但需要确保生成数据的质量和相关性。
    • 线上持续收集:通过在线系统持续收集用户生成的数据,如日志、评论、反馈等,这些数据可以用于构建和更新语料库。
  2. 开源工具用来制作语料库

    • 有许多开源工具可以帮助制作语料库,例如:
      • Dataturks:一个在线数据标注平台,可以用来创建、管理和标注文本数据。
      • Doccano:一个开源的文本标注工具,支持多种标注任务,如文本分类、实体识别等。
      • Tesseract:一个开源的OCR引擎,可以用来从图像中提取文本数据。
  3. 语料增强的手段

    • 数据增强:通过一系列技术手段增加数据样本的多样性,如文本合成、同义词替换、随机插入等。
    • 模型生成:使用预训练模型生成新的数据样本,以增加语料库的规模和多样性。
  4. 确保增强的数据符合要求

    • 人工校验:通过人工审核增强后的数据,确保其质量、相关性和准确性。
    • 自动化评估:使用预训练的语言模型或特定的评估指标来自动化地评估数据的质量。

4.5 怎么保证结果最优

在使用大型语言模型生成答案时,由于模型的随机性和创造性,即使是同一个问题,每次生成的答案也可能会有所不同。为了保证生成的结果尽可能最优,可以采取以下措施:
  1. 最优结果

    • "最优"在这里指的是生成的答案在质量、相关性和准确性方面都是最高的。由于最优是一个相对概念,实际上我们通常追求的是在特定上下文和任务要求下的最佳平衡。
  2. 确定性结果

    • 为了获得确定性结果,可以通过调整模型参数或使用特定的解码策略来减少输出的随机性。例如,可以使用较小的温度参数(temperature parameter)来降低随机性,或者使用 beam search 等确定性解码方法。
  3. Beam Search

    • Beam Search 是一种启发式搜索算法,用于序列生成任务。它在每一步都保留多个(称为束大小或 beam size)最有潜力的候选序列,并最终选择得分最高的序列作为输出。Beam Search 可以提高输出的质量,因为它考虑了多个可能的答案,但这也意味着更高的计算成本。
  4. 保证生成结果最优的方法

    • 调整解码参数:如前所述,可以通过调整温度参数、top-k 采样或 top-p 采样等参数来控制模型的随机性。
    • 多轮生成和选择:可以生成多个答案,然后根据某些标准(如准确性、新颖性等)选择最佳答案。
    • 后处理和过滤:生成答案后,可以使用额外的过滤规则或后处理步骤来改进答案的质量。
    • 用户反馈和迭代:收集用户对生成答案的反馈,并根据反馈调整模型,以逐步优化生成结果。

4.6 怎么保证微调后LLM的基础能力

微调后的专用大模型保持基础大模型的能力是自然语言处理中的一个重要问题:
  1. 1:5的专业vs通用数据进行微调

    • 这里的比例(1:5)指的是在微调过程中,专业数据和通用数据的比例。专业数据是指与特定任务高度相关的数据,而通用数据是指更广泛、更多样化的数据集。
    • 通过将专业数据和通用数据以一定比例混合,可以在微调过程中既保留模型在通用领域的知识,又增强模型在特定领域的性能。
    • 这种方法有助于防止模型过拟合到专业数据上,从而保持其广泛的知识和基础能力。
  2. 调用不同的模型

    • 在某些情况下,可以同时使用或调用多个模型,其中一些模型可能是专门为特定任务微调的,而其他模型则保持其通用性质。
    • 通过这种方式,可以在需要时利用专用模型的特定能力,同时保持基础模型的通用能力。

4.7 LLM+专用知识库的优势

在目前的自然语言处理领域,将通用大模型与专用知识库相结合的思路被广泛采用,因为它可以利用大模型的广泛知识和专用知识库的特定知识。微调大模型+专用知识库的技术路线同样可行,并且有其独特的优势。 微调大模型+专用知识库的技术路线
  • 微调大模型:通过在通用大模型的基础上进行微调,可以增强模型对特定任务的理解和处理能力。
  • 专用知识库:结合一个专门为特定任务或领域设计的知识库,可以提供更准确和详细的信息。

优势

  1. 可解释性:微调后的模型结合专用知识库,通常具有较高的可解释性,因为模型的输出可以直接关联到知识库中的具体信息。
  2. 便于更新:专用知识库可以独立于模型进行更新,这样即使模型微调后的参数不变,知识库的更新也能带来性能的提升。

缺点

  1. 不可控:微调大模型可能会引入一些不可控的偏差,尤其是在使用大规模未标注数据进行微调时。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习-随机森林温度预测模型优化

文章目录 前言旧模型训练新模型训练参数查看组合参数训练学习模型评估 前言 在机器学习-随机森林算法预测温度一文中,通过增大模型训练数据集和训练特征的方式去优化模型的性能,本文将记录第三方种优化方式,通过调整随机森林创建模型参数的方…

10.哀家要长脑子了!

1. 704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 哎哟 我去 我还以为你都搞懂了 呵呵 当时问题出现在右边界初始化 左闭右开 右边界是取不到的 int left 0, right nums.size() ; while(left < right) { int mid left (right - left) / 2; if( target > …

数据可视化高级技术Echarts(堆叠柱状图)

目录 一.如何实现 二.代码展示 1.stack名称相同&#xff08;直接堆叠&#xff09; 2. stack名称不相同&#xff08;相同的堆叠&#xff0c;不同的新生成一列&#xff09; 一.如何实现 数据堆叠&#xff0c;同个类目轴上系列配置相同的 stack 值可以堆叠放置。即在series中…

前端三件套学习笔记(持更)

目录 1、HTML,CSS,JS区别 2、HTML结构 1、HTML,CSS,JS区别 结构写到 HTML 文件中&#xff0c; 表现写到 CSS 文件中&#xff0c; 行为写到 JavaScript文件中。 2、HTML结构 <!DOCTYPE html> <html><head><title>我的第一个页面</title><…

城市选择器小程序实现

1.效果图 2.使用方法 # 城市选择器&#xff0c; 城市数据库可自己导出 ##后台数据API 由HotApp小程序统计提供并维护&#xff0c;如果需要导出并部署在公司的生产环境&#xff0c;最后有SQL导出下载地址 ## 使用方法 - 复制pages/district到你的项目目录 - 把样式文件distr…

4/11 QT_day5

服务器端 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> #include <QMessageBox> #include <QTcpSocket> #include <QList> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass …

Java应用CPU飙升和死锁排查实战教程

引言 在日常开发中&#xff0c;我们可能会遇到Java应用CPU飙升和死锁的问题。本文将通过实际案例&#xff0c;为大家介绍如何排查这些问题 Java应用CPU飙升和死锁排查步骤 先执行top命令&#xff0c;找到CPU占用比较高的进程再执行jstack 进程id > dump.txt找到进程中CPU…

[GDC24]TheFInals的破坏系统

GDC24上TheFinals的开发工作室–EmbarkStudios带来; TheFinals把实时破坏在主流游戏上提升到了新的高度,可以说是新的标杆,达成了: 可以出现大规模的任意破坏破坏之后充分影响gameplay,可以把建筑任意炸毁之后,坍塌的建筑继续保留&物理正确(有正确的网络同步),可以废墟中继…

2024HW --> 安全产品 Powershell无文件落地攻击

在HW中&#xff0c;除了了解中间件&#xff0c;web漏洞&#xff0c;这些攻击的手法&#xff0c;还得了解应急响应&#xff0c;安全产品&#xff0c;入侵排查&#xff0c;溯源反制...... 那么今天&#xff0c;就来说一下安全产品&#xff08;安全公司我就不说了&#xff0c;这个…

使用 ChatGPT-4 编码就像与一个醉酒的天才一起工作

我决定从头到尾使用 ChatGPT 来构建一个用于管理书签的 Chrome 扩展。在生成了 30,000 多行 JavaScript、HTML、CSS 和云后端后&#xff0c;我的收获是&#xff0c;使用 ChatGPT 进行编码就像与一个醉酒的编程天才一起工作&#xff1a;他很懒&#xff0c;患有记忆丧失&#xff…

二极管分类及用途

二极管分类及用途 通用开关二极管 特点&#xff1a;电流小&#xff0c;工作频率高 选型依据&#xff1a;正向电流、正向压降、功耗&#xff0c;反向最大电压&#xff0c;反向恢复时间&#xff0c;封装等 类型&#xff1a;BAS316 ; IN4148WS 应用电路: 说明&#xff1a;应用…

智能革命:未来人工智能创业的天地

智能革命&#xff1a;未来人工智能创业的天地 一、引言 在这个数字化迅速变革的时代&#xff0c;人工智能(AI)已经从一个边缘科学发展成为推动未来经济和社会发展的关键动力。这一技术领域的飞速进步&#xff0c;不仅影响着科技行业的每一个角落&#xff0c;更是为创业者提供了…

【python】python抓取古诗文内容保存(源码)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

Ubuntu-22.04安装KVM虚拟机并安装Windows10

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、KVM是什么&#xff1f;二、安装步骤1.检查虚拟化2.查看KVM虚拟化3.安装KVM4.启用后台进程5.添加用户组6.重启电脑 三、使用步骤1.添加虚拟机2.配置虚拟机3.…

高颜值登录页面(一键复制)

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具合集 266篇…

leecode438 | 找到所有字符串中的异位词

题意大致是&#xff0c;给定两个字符串&#xff0c;s 和 p 其中 要在s 中找到由p的元素组成的子字符串&#xff0c;记录子字符串首地址 class Solution { public:vector<int> findAnagrams(string s, string p) {int m s.size(), n p.size();if(m < n)return {};vec…

python botos s3 aws

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html AWS是亚马逊的云服务&#xff0c;其提供了非常丰富的套件&#xff0c;以及支持多种语言的SDK/API。本文针对其S3云储存服务的Python SDK&#xff08;boto3&#xff09;的使用进行介绍。 …

每日一题——阶乘计算升级版

题目链接&#xff1a; 6-10 阶乘计算升级版 - 基础编程题目集 (pintia.cn) 题目&#xff1a; 6-10 阶乘计算升级版 分数 20 本题要求实现一个打印非负整数阶乘的函数。 函数接口定义&#xff1a; void Print_Factorial ( const int N ); 其中N是用户传入的参数&#xff…

解锁智能未来:用Ollama开启你的本地AI之旅

Ollama是一个用于在本地运行大型语言模型&#xff08;LLM&#xff09;的开源框架。它旨在简化在Docker容器中部署LLM的过程&#xff0c;使得管理和运行这些模型变得更加容易。Ollama提供了类似OpenAI的API接口和聊天界面&#xff0c;可以非常方便地部署最新版本的GPT模型并通过…

商业银行业务与管理

商业银行业务与管理 资产负债表恒等式中国商业银行的资产负债表商业银行的业务种类银行运行管理的案例银行管理的基本准则流动性管理资产和负债管理资本充足管理 资产负债表恒等式 &#xff08;一般&#xff09;资产负债所有者权益 一个公司的资产是由负债和所有者权益所构成…