当前位置: 首页 > news >正文

3、LangChain基础:LangChain Chat Model

Prompt templates: Few shot、Example selector

Few shot(少量示例)

创建少量示例的格式化程序

创建一个简单的提示模板,用于在生成时向模型提供示例输入和输出。向LLM提供少量这样的示例被称为少量示例,这是一种简单但强大的指导生成的方式,在某些情况下可以显著提高模型性能。

少量示例提示模板可以由一组示例或一个负责从定义的集合中选择一部分示例的示例选择器类构建。

配置一个格式化程序,将少量示例格式化为字符串。这个格式化程序应该是一个<font style="color:rgb(28, 30, 33);">PromptTemplate</font>对象。

from langchain_core.prompts import PromptTemplate
example_prompt = PromptTemplate.from_template("问题:{question}\n{answer}")

创建示例集合

接下来,我们将创建一个少量示例的列表。每个示例应该是一个字典,表示我们上面定义的格式化提示的示例输入。

examples = [{"question": "谁活得更长,穆罕默德·阿里还是艾伦·图灵?","answer": """
是否需要后续问题:是的。
后续问题:穆罕默德·阿里去世时多大年纪?
中间答案:穆罕默德·阿里去世时74岁。
后续问题:艾伦·图灵去世时多大年纪?
中间答案:艾伦·图灵去世时41岁。
所以最终答案是:穆罕默德·阿里
""",},{"question": "克雷格斯列表的创始人是什么时候出生的?","answer": """
是否需要后续问题:是的。
后续问题:克雷格斯列表的创始人是谁?
中间答案:克雷格斯列表的创始人是克雷格·纽马克。
后续问题:克雷格·纽马克是什么时候出生的?
中间答案:克雷格·纽马克于1952年12月6日出生。
所以最终答案是:1952年12月6日
""",},{"question": "乔治·华盛顿的外祖父是谁?","answer": """
是否需要后续问题:是的。
后续问题:乔治·华盛顿的母亲是谁?
中间答案:乔治·华盛顿的母亲是玛丽·波尔·华盛顿。
后续问题:玛丽·波尔·华盛顿的父亲是谁?
中间答案:玛丽·波尔·华盛顿的父亲是约瑟夫·波尔。
所以最终答案是:约瑟夫·波尔
""",},{"question": "《大白鲨》和《皇家赌场》的导演都来自同一个国家吗?","answer": """
是否需要后续问题:是的。
后续问题:《大白鲨》的导演是谁?
中间答案:《大白鲨》的导演是史蒂文·斯皮尔伯格。
后续问题:史蒂文·斯皮尔伯格来自哪个国家?
中间答案:美国。
后续问题:《皇家赌场》的导演是谁?
中间答案:《皇家赌场》的导演是马丁·坎贝尔。
后续问题:马丁·坎贝尔来自哪个国家?
中间答案:新西兰。
所以最终答案是:不是
""",},
]

让我们使用其中一个示例测试格式化提示:

print(example_prompt.invoke(examples[0]).to_string())
问题:谁活得更长,穆罕默德·阿里还是艾伦·图灵?是否需要后续问题:是的。
后续问题:穆罕默德·阿里去世时多大年纪?
中间答案:穆罕默德·阿里去世时74岁。
后续问题:艾伦·图灵去世时多大年纪?
中间答案:艾伦·图灵去世时41岁。
所以最终答案是:穆罕默德·阿里

将示例和格式化程序传递给<font style="color:rgb(28, 30, 33);">FewShotPromptTemplate</font>

最后,创建一个FewShotPromptTemplate对象。该对象接受少量示例和少量示例的格式化程序。当格式化此<font style="color:rgb(28, 30, 33);">FewShotPromptTemplate</font>时,它使用<font style="color:rgb(28, 30, 33);">example_prompt</font>格式化传递的示例,然后将它们添加到<font style="color:rgb(28, 30, 33);">suffix</font>之前的最终提示中:

from langchain_core.prompts import FewShotPromptTemplate
prompt = FewShotPromptTemplate(examples=examples,example_prompt=example_prompt,suffix="问题:{input}",input_variables=["input"],
)
print(prompt.invoke({"input": "乔治·华盛顿的父亲是谁?"}).to_string()
)
问题:谁活得更长,穆罕默德·阿里还是艾伦·图灵?是否需要后续问题:是的。
后续问题:穆罕默德·阿里去世时多大年纪?
中间答案:穆罕默德·阿里去世时74岁。
后续问题:艾伦·图灵去世时多大年纪?
中间答案:艾伦·图灵去世时41岁。
所以最终答案是:穆罕默德·阿里问题:克雷格斯列表的创始人是什么时候出生的?是否需要后续问题:是的。
后续问题:克雷格斯列表的创始人是谁?
中间答案:克雷格斯列表的创始人是克雷格·纽马克。
后续问题:克雷格·纽马克是什么时候出生的?
中间答案:克雷格·纽马克于1952年12月6日出生。
所以最终答案是:1952年12月6日问题:乔治·华盛顿的外祖父是谁?是否需要后续问题:是的。
后续问题:乔治·华盛顿的母亲是谁?
中间答案:乔治·华盛顿的母亲是玛丽·波尔·华盛顿。
后续问题:玛丽·波尔·华盛顿的父亲是谁?
中间答案:玛丽·波尔·华盛顿的父亲是约瑟夫·波尔。
所以最终答案是:约瑟夫·波尔问题:《大白鲨》和《皇家赌场》的导演都来自同一个国家吗?是否需要后续问题:是的。
后续问题:《大白鲨》的导演是谁?
中间答案:《大白鲨》的导演是史蒂文·斯皮尔伯格。
后续问题:史蒂文·斯皮尔伯格来自哪个国家?
中间答案:美国。
后续问题:《皇家赌场》的导演是谁?
中间答案:《皇家赌场》的导演是马丁·坎贝尔。
后续问题:马丁·坎贝尔来自哪个国家?
中间答案:新西兰。
所以最终答案是:不是问题:乔治·华盛顿的父亲是谁?

通过向模型提供这样的示例,我们可以引导模型做出更好的回应。

Example selectors(示例选择器)

我们将重用上一节中的示例集和格式化程序。但是,我们不会直接将示例馈送到 <font style="color:rgb(28, 30, 33);">FewShotPromptTemplate</font> 对象中,而是将它们馈送到名为 SemanticSimilarityExampleSelector 的 <font style="color:rgb(28, 30, 33);">ExampleSelector</font> 实现实例中。该类根据输入与少样本示例的相似性选择初始集合中的少样本示例。它使用嵌入模型计算输入与少样本示例之间的相似性,以及向量存储库执行最近邻搜索。

为了展示它的样子,让我们初始化一个实例并在隔离环境中调用它:

from langchain_chroma import Chroma
from langchain_core.example_selectors import SemanticSimilarityExampleSelector
from langchain_openai import OpenAIEmbeddings
example_selector = SemanticSimilarityExampleSelector.from_examples(# 这是可供选择的示例列表。examples,# 这是用于生成嵌入的嵌入类,用于衡量语义相似性。OpenAIEmbeddings(),# 这是用于存储嵌入并进行相似性搜索的 VectorStore 类。Chroma,# 这是要生成的示例数量。k=1,
)
# 选择与输入最相似的示例。
question = "玛丽·波尔·华盛顿的父亲是谁?"
selected_examples = example_selector.select_examples({"question": question})
print(f"与输入最相似的示例: {question}")
for example in selected_examples:print("\n")for k, v in example.items():print(f"{k}: {v}")
与输入最相似的示例: 玛丽·波尔·华盛顿的父亲是谁?
answer: 
是否需要后续问题:是的。
后续问题:乔治·华盛顿的母亲是谁?
中间答案:乔治·华盛顿的母亲是玛丽·波尔·华盛顿。
后续问题:玛丽·波尔·华盛顿的父亲是谁?
中间答案:玛丽·波尔·华盛顿的父亲是约瑟夫·波尔。
所以最终答案是:约瑟夫·波尔
question: 乔治·华盛顿的外祖父是谁?

Chroma 安装报错

pip install langchain-chroma
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]

解决方案:需要先下载visual-cpp-build-tools,再执行pip install langchain-chroma

下载地址:https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/

现在,让我们创建一个 <font style="color:rgb(28, 30, 33);">FewShotPromptTemplate</font> 对象。该对象接受示例选择器和用于少样本示例的格式化程序提示。

prompt = FewShotPromptTemplate(example_selector=example_selector,example_prompt=example_prompt,suffix="Question: {input}",input_variables=["input"],
)
print(prompt.invoke({"input": "玛丽·波尔·华盛顿的父亲是谁?"}).to_string()
)
问题:乔治·华盛顿的外祖父是谁?
是否需要后续问题:是的。
后续问题:乔治·华盛顿的母亲是谁?
中间答案:乔治·华盛顿的母亲是玛丽·波尔·华盛顿。
后续问题:玛丽·波尔·华盛顿的父亲是谁?
中间答案:玛丽·波尔·华盛顿的父亲是约瑟夫·波尔。
所以最终答案是:约瑟夫·波尔
Question: 玛丽·波尔·华盛顿的父亲是谁?

LangServe

概述

LangServe 🦜️🏓 帮助开发者将 <font style="color:rgb(28, 30, 33);">LangChain</font> 可运行和链部署为 REST API。

该库集成了 FastAPI 并使用 pydantic 进行数据验证。

Pydantic 是一个在 Python中用于数据验证和解析的第三方库,现在是Python中使用广泛的数据验证库。

  • 它利用声明式的方式定义数据模型和Python 类型提示的强大功能来执行数据验证和序列化,使您的代码更可靠、更可读、更简洁且更易于调试。。
  • 它还可以从模型生成 JSON 架构,提供了自动生成文档等功能,从而轻松与其他工具集成

此外,它提供了一个客户端,可用于调用部署在服务器上的可运行对象。JavaScript 客户端可在 LangChain.js 中找到。

特性

  • 从 LangChain 对象自动推断输入和输出模式,并在每次 API 调用中执行,提供丰富的错误信息
  • 带有 JSONSchema 和 Swagger 的 API 文档页面(插入示例链接)
  • 高效的 <font style="color:rgb(28, 30, 33);">/invoke</font><font style="color:rgb(28, 30, 33);">/batch</font><font style="color:rgb(28, 30, 33);">/stream</font> 端点,支持单个服务器上的多个并发请求
  • <font style="color:rgb(28, 30, 33);">/stream_log</font> 端点,用于流式传输链/代理的所有(或部分)中间步骤
  • 新功能 自 0.0.40 版本起,支持 <font style="color:rgb(28, 30, 33);">/stream_events</font>,使流式传输更加简便,无需解析 <font style="color:rgb(28, 30, 33);">/stream_log</font> 的输出。
  • 使用经过严格测试的开源 Python 库构建,如 FastAPI、Pydantic、uvloop 和 asyncio。
  • 使用客户端 SDK 调用 LangServe 服务器,就像本地运行可运行对象一样(或直接调用 HTTP API)

限制

  • 目前不支持服务器发起的事件的客户端回调
  • 当使用 Pydantic V2 时,将不会生成 OpenAPI 文档。FastAPI 不支持混合使用 pydantic v1 和 v2 命名空间。更多细节请参见下面的章节。

安装

对于客户端和服务器:

pip install --upgrade "langserve[all]" 

或者对于客户端代码,<font style="color:rgb(28, 30, 33);">pip install "langserve[client]"</font>,对于服务器代码,<font style="color:rgb(28, 30, 33);">pip install "langserve[server]"</font>

LangChain CLI 🛠️

使用 <font style="color:rgb(28, 30, 33);">LangChain</font> CLI 快速启动 <font style="color:rgb(28, 30, 33);">LangServe</font> 项目。

要使用 langchain CLI,请确保已安装最新版本的 <font style="color:rgb(28, 30, 33);">langchain-cli</font>。您可以使用 <font style="color:rgb(28, 30, 33);">pip install -U langchain-cli</font> 进行安装。

设置

注意:我们使用 <font style="color:rgb(28, 30, 33);">poetry</font> 进行依赖管理。请参阅 poetry

相关文章:

3、LangChain基础:LangChain Chat Model

Prompt templates: Few shot、Example selector Few shot(少量示例) 创建少量示例的格式化程序 创建一个简单的提示模板,用于在生成时向模型提供示例输入和输出。向LLM提供少量这样的示例被称为少量示例,这是一种简单但强大的指导生成的方式,在某些情况下可以显著提高模型…...

信创时代开发工具选择指南:国产替代背景下的技术生态与实践路径

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…...

Coze高阶玩法 | 使用Coze制作思维认知提升视频,效率提升300%!(附保姆级教程)

目录 一、工作流整体设计 二、制作工作流 2.1 开始节点 2.2 大模型 2.3 文本处理 2.4 代码 2.5 批处理 2.6 选择器 2.7 画板_视频模板 2.8 合成音频 2.9 图片与音频合并视频 2.10 视频合并 2.11 结束节点 三、智能体应用体验 中午吃饭的时候,刷到了一个思维认知…...

数据湖DataLake和传统数据仓库Datawarehouse的主要区别是什么?优缺点是什么?

数据湖和传统数据仓库的主要区别 以下是数据湖和传统数据仓库的主要区别&#xff0c;以表格形式展示&#xff1a; 特性数据湖传统数据仓库数据类型支持结构化、半结构化及非结构化数据主要处理结构化数据架构设计扁平化架构&#xff0c;所有数据存储在一个大的“池”中多层架…...

GStreamer 简明教程(十一):插件开发,以一个音频生成(Audio Source)插件为例

系列文章目录 GStreamer 简明教程&#xff08;一&#xff09;&#xff1a;环境搭建&#xff0c;运行 Basic Tutorial 1 Hello world! GStreamer 简明教程&#xff08;二&#xff09;&#xff1a;基本概念介绍&#xff0c;Element 和 Pipeline GStreamer 简明教程&#xff08;三…...

chrome://inspect/#devices 调试 HTTP/1.1 404 Not Found 如何解决

使用chrome是需要翻墙的&#xff0c;可以换个浏览器进行使用 可以使用edge浏览器&#xff0c;下载地址如下 微软官方edge浏览器|Mac版&#xff1a;浏览更智能&#xff0c;工作更高效 下载Edge浏览器 edge://inspect/#devices 点击inspect即可 qq浏览器 1. 下载qq浏览器 2. …...

RFID使用指南

## 什么是RFID&#xff1f; RFID&#xff08;Radio Frequency Identification&#xff09;即射频识别技术&#xff0c;是一种通过无线电波进行非接触式数据交换的技术。 ## RFID系统的主要组成部分 1. **RFID标签&#xff08;Tag&#xff09;** - 包含芯片和天线 - 分为有源标…...

初识Redis · 哨兵机制

目录 前言&#xff1a; 引入哨兵 模拟哨兵机制 配置docker环境 基于docker环境搭建哨兵环境 对比三种配置文件 编排主从节点和sentinel 主从节点 sentinel 模拟哨兵 前言&#xff1a; 在前文我们介绍了Redis的主从复制有一个最大的缺点就是&#xff0c;主节点挂了之…...

JAVA设计模式——(七)代理模式

JAVA设计模式——&#xff08;七&#xff09;代理模式 介绍理解实现抽象主题角色具体主题角色代理类测试 应用 介绍 代理模式和装饰模式还是挺像的。装饰模式是抽象类对装饰对象的实现&#xff0c;在继承装饰对象。代理模式则是直接对代理对象的实现。 理解 代理模式可以看成…...

Redis 原子操作

文章目录 前言✅ 一、什么是「原子操作」&#xff1f;&#x1f50d; 二、怎么判断一个操作是否原子&#xff1f;&#x1f9ea; 三、项目中的原子 vs 非原子案例&#xff08;秒杀系统&#xff09;✅ 原子性&#xff08;OK&#xff09;❌ 非原子性&#xff08;高风险&#xff09;…...

待办事项日历组件实现

待办事项日历组件实现 今天积累一个简易的待办事项日历组件的实现方法。 需求&#xff1a; 修改样式&#xff0c;变成符合项目要求的日历样式日历上展示待办事项提示&#xff08;有未完成待办&#xff1a;展示黄点&#xff0c;有已完成待办&#xff1a;展示绿点&#xff09;…...

Flask 请求数据获取方法详解

一、工作原理 在 Flask 中&#xff0c;所有客户端请求的数据都通过全局的 request 对象访问。该对象是 请求上下文 的一部分&#xff0c;仅在请求处理期间存在。Flask 在收到请求时自动创建 request 对象&#xff0c;并根据请求类型&#xff08;如 GET、POST&#xff09;和内容…...

PicoVR眼镜在XR融合现实显示模式下无法显示粒子问题

PicoVR眼镜开启XR融合现实显示模式下&#xff0c;Unity3D粒子效果无法显示问题&#xff0c;其原因是XR融合显示模式下&#xff0c;Unity3D应用显示层在最终合成到眼镜显示器时&#xff0c;驱动层先渲染摄像机画面&#xff0c;再以Alpha透明方式渲染应用层画面&#xff0c;问题就…...

vue-lottie的使用和配置

一、vue-lottie 简介 vue-lottie 是一个 Vue 组件&#xff0c;用于在 Vue 项目中集成 Airbnb 的 Lottie 动画库。它通过 JSON 文件渲染 After Effects 动画&#xff0c;适用于复杂矢量动画的高效展示。 二、安装与基础使用 1. 安装 npm install vue-lottielatest # 或 yarn…...

PyTorch 实现食物图像分类实战:从数据处理到模型训练

一、简介 在计算机视觉领域&#xff0c;图像分类是一项基础且重要的任务&#xff0c;广泛应用于智能安防、医疗诊断、电商推荐等场景。本文将以食物图像分类为例&#xff0c;基于 PyTorch 框架&#xff0c;详细介绍从数据准备、模型构建到训练测试的全流程&#xff0c;帮助读者…...

传统中台的重生——云原生如何重塑政务系统后端架构

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:传统后端架构的“痛”与“变” 在过去十年中,无数企业和机构纷纷构建中台系统,尤其是政务、金融、交通、教育等领域。这些中台系统一般基于 Java EE 单体架构,集中部署于虚拟机上,靠人…...

jQuery AJAX、Axios与Fetch

jQuery AJAX、Axios与Fetch对比 #mermaid-svg-FRNqb7d4i2fmbavm {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-FRNqb7d4i2fmbavm .error-icon{fill:#552222;}#mermaid-svg-FRNqb7d4i2fmbavm .error-text{fill:#552…...

【Hive入门】Hive数据导出完全指南:从HDFS到本地文件系统的专业实践

目录 引言 1 Hive数据导出概述 1.1 数据导出的核心概念 1.2 典型导出场景 2 Hive到HDFS导出详解 2.1 INSERT OVERWRITE DIRECTORY方法 2.2 多目录导出技术 2.3 动态分区导出 3 HDFS到本地文件系统转移 3.1 hadoop fs命令操作 3.2 分布式拷贝工具DistCp 4 直接导出到…...

stack __ queue(栈和队列)

1. stack的介绍和使用 栈和队列里面都叫容器适配器 存储数据就要交给别的容器 通过封装别的容器&#xff0c;可以进行相应的操作&#xff0c;来达到目的 适配的本质就是复用 这就没有迭代器了&#xff0c;不支持随便遍历 2. queue的介绍和使用 下面用一些题来深入理解 栈…...

UML 类图基础和类关系辨析

UML 类图 目录 1 概述 2 类图MerMaid基本表示法 3 类关系详解 3.1 实现和继承 3.1.1 实现&#xff08;Realization&#xff09;3.1.2 继承/泛化&#xff08;Inheritance/Generalization&#xff09; 3.2 聚合和组合 3.2.1 组合&#xff08;Composition&#xff09;3.2.2 聚…...

STM32F103C8T6信息

STM32F103C8T6 完整参数列表 一、核心参数 内核架构‌ ARM Cortex-M3 32位RISC处理器 最大主频&#xff1a;72 MHz&#xff08;基于APB总线时钟&#xff09; 运算性能&#xff1a;1.25 DMIPS/MHz&#xff08;Dhrystone 2.1基准&#xff09; 总线与存储‌ 总线宽度&#xff…...

unity 读取csv

1.读取代码 string filePath Application.streamingAssetsPath "\\data.csv"; public List<MovieData> movieData new List<MovieData>(); private void ReadCSV(string filePath) { List<List<string>> data new List<…...

那些年踩过的坑之Arrays.asList

一、前言 熟悉开发的兄弟都知道&#xff0c;在写新增和删除功能的时候&#xff0c;大多数时候会写成批量的&#xff0c;原因也很简单&#xff0c;批量既支持单个也支持多个对象的操作&#xff0c;事情也是发生在这个批量方法的调用上&#xff0c;下面我简单说一下这个事情。 二…...

ASP.NET Core 自动识别 appsettings.json的机制解析

ASP.NET Core 自动识别 appsettings.json 的机制解析 在 ASP.NET Core 中&#xff0c;IConfiguration 能自动识别 appsettings.json 并直接读取值的机制&#xff0c;是通过框架的 “约定优于配置” 设计和 依赖注入系统 共同实现的。以下是详细原理&#xff1a; 默认配置源的自…...

深入解析Mlivus Cloud核心架构:rootcoord组件的最佳实践与调优指南

作为大禹智库的向量数据库高级研究员,同时也是《向量数据库指南》的作者,我在过去30年的向量数据库和AI应用实战中见证了这项技术的演进与革新。今天,我将以专业视角为您深入剖析Mlivus Cloud的核心组件之一——rootcoord,这个组件在系统架构中扮演着至关重要的角色。如果您…...

ApplicationEventPublisher用法-笔记

1.ApplicationEventPublisher简介 org.springframework.context.ApplicationEventPublisher 是 Spring 框架中用于发布自定义事件的核心接口。它允许你在 Spring 应用上下文中触发事件&#xff0c;并由其他组件&#xff08;监听器&#xff09;进行响应。 ApplicationEventPub…...

数字孪生:从概念到实践,重构未来产业的“虚拟镜像”

一、开篇&#xff1a;为什么数字孪生是下一个技术风口&#xff1f; 现象级案例引入&#xff1a; “特斯拉用数字孪生技术将电池故障预测准确率提升40%&#xff1b;西门子通过虚拟工厂模型缩短30%产品研发周期&#xff1b;波音777X飞机设计全程零实物原型……” 数据支撑&#…...

Python笔记:VS2013编译Python-3.5.10

注&#xff1a;本文是编译老版本&#xff0c;有点麻烦&#xff0c;测试了编译新版&#xff0c;基本上是傻瓜是操作即可 1. python官网下载源码 https://www.python.org/ftp/python/3.5.10/Python-3.5.10.tgz 2. 编译前查看目录中相关文档 源码目录结构 看README文档 经过查…...

STM32八股【6】-----CortexM3的双堆栈(MSP、PSP)设计

STM32的线程模式&#xff08;Thread Mode&#xff09;和内核模式&#xff08;Handler Mode&#xff09;以及其对应的权级和堆栈指针 线程模式&#xff1a; 正常代码执行时的模式&#xff08;如 main 函数、FreeRTOS任务&#xff09; 可以是特权级&#xff08;使用MSP&#xff…...

MySQL触法器

1. 什么是触发器及其特点 MySQL数据库中触发器是一个特殊的存储过程&#xff0c;不同的是执行存储过程要使用 CALL 语句来调用&#xff0c;而触发器的执行不需要使用 CALL 语句来调用&#xff0c;也不需要手工启动&#xff0c;只要一个预定义的事件发生就会被 MySQL自动调用。…...

金仓数据库征文-政务领域国产化数据库更替:金仓 KingbaseES 应用实践

目录 一.金仓数据库介绍 二.政务领域数据库替换的时代需求​ 三.金仓数据库 KingbaseES 在政务领域的替换优势​ 1.强大的兼容性与迁移能力​ 2.高安全性与稳定性保障​ 3.良好的国产化适配性​ 四.金仓数据库 KingbaseES 在政务领域的典型应用实践​ 1.电子政务办公系…...

微服务架构在云原生后端的深度融合与实践路径

📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:后端架构的演变,走向云原生与微服务融合 过去十余年,后端架构经历了从单体应用(Monolithic)、垂直切分(Modularization)、到微服务(Microservices)的演进,每一次变化都是为了解决…...

北斗导航 | 北斗卫星导航单点定位与深度学习结合提升精度

以下是北斗卫星导航单点定位(SPP)与深度学习结合提升精度的关键方法总结,综合了误差建模、信号识别、动态环境适应等技术方向: 一、非直射信号(NLOS)抑制与权重修正 1. 双自注意力网络(Dual Self-Attention Network) 原理:通过同时建模卫星信号的空间环境特征(如天空…...

AlarmClock4.8.4(官方版)桌面时钟工具软件下载安装教程

1.软件名称&#xff1a;AlarmClock 2.软件版本&#xff1a;4.8.4 3.软件大小&#xff1a;187 MB 4.安装环境&#xff1a;win7/win10/win11(64位) 5.下载地址&#xff1a; https://www.kdocs.cn/l/cdZMwizD2ZL1?RL1MvMTM%3D 提示&#xff1a;先转存后下载&#xff0c;防止资…...

精益数据分析(23/126):把握创业阶段与第一关键指标

精益数据分析&#xff08;23/126&#xff09;&#xff1a;把握创业阶段与第一关键指标 在创业和数据分析的学习过程中&#xff0c;每一次深入探索都可能为我们打开新的大门。今天&#xff0c;我依旧带着和大家共同进步的想法&#xff0c;来解读《精益数据分析》中的重要内容—…...

【华为HCIP | 华为数通工程师】821—多选解析—第十六页

多选814、关于OSPF AS-External-LSA说法正确的是: A、Net mask被设置全0 B、Link State ID被设置为目的网段地址 C、Advertising Router被设置为ASBR的Router ID D、使用Link State ID和Advertising Router可以唯一标识一条AS-External-LSA 解析:Net mask代表的是掩码…...

Linux:进程间通信->匿名管道实现内存池

1. 进程间通信 (1) 概念 进程间通信(IPC) 就是不同进程间交换数据的方法&#xff0c;进程间是独立的所以不能访问彼此的内存&#xff0c;需要某种机制来通信(管道、消息队列&#xff0c;共享内存等) (2) 目的 数据传输&#xff1a;一个进程需要他的数据发送给另一个进程 资源…...

Linux服务器离线安装ollama及大模型

Linux服务器离线安装ollama及大模型 核心思路&#xff1a;使用一台可以联网的电脑将需要的ollama安装包和大模型下载到本地&#xff0c;之后传输到Linux服务器上安装并配置 环境说明 联网机&#xff1a;macOS M1Pro Linux服务器&#xff1a;x86_64 安装ollama版本&#xff1a;…...

C++ 类及函数原型详解

一、引言 在C 编程中&#xff0c;类&#xff08;Class&#xff09;是面向对象编程的核心概念之一&#xff0c;它是一种用户自定义的数据类型&#xff0c;封装了数据和操作数据的函数&#xff08;成员函数&#xff09;。函数原型则为函数的声明提供了必要的信息&#xff0c;让编…...

大内存生产环境tomcat-jvm配置实践

话不多讲&#xff0c;奉上代码&#xff0c;分享经验&#xff0c;交流提高&#xff01; 64G物理内存,8核CPU生产环境tomcat-jvm配置如下&#xff1a; JAVA_OPTS-server -XX:MaxMetaspaceSize4G -XX:ReservedCodeCacheSize2G -XX:UseG1GC -Xms48G -Xmx48G -XX:MaxGCPauseMilli…...

各类前端开发的框架比较及其核心特性、开发体验、生态系统以及在不同项目中的适用性

前端开发框架多种多样&#xff0c;每种框架都有其独特的优势和局限性。以下是几种流行的前端框架及其特点、优缺点和适合的项目类型介绍&#xff1a;包括它们的核心特性、开发体验、生态系统以及在不同项目中的适用性。 1. React.js 核心特性&#xff1a; 虚拟DOM&#xff1a…...

Git基本使用(很详细)

一&#xff1a;Git 概述 1.1 定义&#xff1a;分布式版本控制系统 1.2 版本控制 &#xff08;1&#xff09;定义&#xff1a; 版本控制时一种记录文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统 &#xff08;2&#xff09;举例 多副本 优化&#xff1a; 不使用多…...

mybatis-plus里的com.baomidou.mybatisplus.core.override.MybatisMapperProxy 类的详细解析

以下是 com.baomidou.mybatisplus.core.override.MybatisMapperProxy 类的详细解析&#xff1a; 1. 类的作用 MybatisMapperProxy 是 MyBatis-Plus 框架中用于实现 Mapper 接口动态代理的核心类。它继承自 MyBatis 的 MapperProxy&#xff0c;并扩展了以下功能&#xff1a; …...

[密码学实战]商用密码产品密钥体系架构:从服务器密码机到动态口令系统

[密码学实战]商用密码产品密钥体系架构&#xff1a;从服务器密码机到动态口令系统 关键词&#xff1a;商用密码、密钥体系、服务器密码机、金融数据密码机、动态口令、智能密码钥匙 摘要&#xff1a;本文深度解读商用密码产品的核心密钥体系架构&#xff0c;涵盖服务器密码机、…...

BongoCat - 跨平台键盘猫动画工具

本文翻译整理自&#xff1a;https://github.com/ayangweb/BongoCat 文章目录 一、关于 BongoCat相关链接资源关键功能特性 二、下载安装系统要求下载方式macOSWindowsLinux (X11) 三、灵感来源四、效果演示 一、关于 BongoCat BongoCat 是一款跨平台的键盘猫动画工具&#xf…...

跨Linux发行版CPU指令集兼容性深度解析与实践指南

一、指令集差异全景透视 1.1 Ubuntu与Debian指令集差异对比 # 查询语句&#xff1a; lscpu | grep Flags # 结果 # Ubuntu 22.04 LTS Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm ssbs# De…...

docker的安装和简单使用(ubuntu环境)

环境准备 这里用的是linux的环境&#xff0c;如果没有云服务器的话&#xff0c;就是用虚拟环境吧。 虚拟环境的安装参考&#xff1a;vmware17的安装 linux镜像的安装 docker安装 我使用的是ubuntu&#xff0c;使用以下命令&#xff1a; 更新本地软件包索引 sudo apt u…...

Flutter 环境搭建 (Android)

目标 上一篇Flutter应用已经能在iOS&#xff0c;macOS和,chrome环境下正常运行了,这次把Android跑通。 环境 macOS 15.4.1 Visual Studio Code 1.99.3 Flutter 3.29.3 • channel stable • https://github.com/flutter/flutter.git Framework • revision ea121f8859 (11 da…...

数字化技术的五个环节:大数据、云计算、人工智能、区块链、移动互联网

在21世纪的科技浪潮中&#xff0c;数字化技术以其强大的生命力和无限的潜力&#xff0c;正逐步重塑着我们的世界。大数据、云计算、人工智能、区块链、移动互联网&#xff0c;这五大数字化技术的环节&#xff0c;如同构建智慧未来的基石&#xff0c;每一方面都承载着推动社会进…...

PWNOS:2.0(vulnhub靶机)

文章目录 靶机地址主机发现、端口扫描web渗透目录探测漏洞利用权限提升 解密工具地址总结 靶机地址 https://download.vulnhub.com/pwnos/pWnOS_v2.0.7z 这里如果是windows系统直接使用vmware或者virtubox打开可以使用,如果是mac系统需再去做一个配置&#xff0c;比较麻烦 这里…...