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

LangChain构建大模型应用之RAG

在这里插入图片描述
RAG(Retrieval-augmented Generation 检索增强生成)是一种结合信息检索与生成模型的技术,通过动态整合外部知识库提升大模型输出的准确性和时效性。其核心思想是在生成答案前,先检索外部知识库中的相关信息作为上下文依据,从而突破传统生成模型的静态知识边界。
为什么我们要整合外部知识库呢?
首先,大模型训练通常需要耗费很多资源,几百万张贵的离谱的高性能GPU卡,巨量的电力,巨量的高质量训练数据–意味着大量的硬盘,每次训练大概要几周到一两个月,总之成本在百万美元到上亿美元,比如2023年,OpenAI的GPT-4模型和Google的Gemini Ultra模型的训练成本更是分别高达约7800万美元和近2亿美元!2024年年底的重大新闻是我国的国产大模型DeepSeek v3 的发布,DeepSeek v3 真正令人印象深刻的是训练成本。该模型在 2788000 个 H800 GPU 小时上进行训练,估计成本为 5576000 美元。facebook (现在名为Meta )的Llama 3.1 405B 训练了 30,840,000 个 GPU 小时——是 DeepSeek v3 所用时间的 11 倍,但基准测试结果略差。
大模型的知识库在训练的时候就已经固定了,而如果要更新知识库那就得重新训练模型,或者对大模型进行微调训练。如果遇到用户需要频繁更新知识库的场景,成本是无法接受的,于是就有了先检索知识库然后让大模型处理后输出的办法。
其次,LLM在自然语言处理任务中可能提供​​不准确​​或​​不充分答案​​的局限性。我们在使用大模型时候经常会遇到幻觉问题,在某些需求领域这些幻觉是无法接受的,比如在医院开药的时候,药名功效和用量是不能出错的
在一些细分的专业领域,大模型的训练数据是不足的,所以结合信息检索与文本生成​​:通过从庞大的外部知识库中检索相关信息,动态增强模型的生成能力,弥补LLM依赖静态训练数据的不足。
RAG还可以增强模型输出的​​准确性​​和​​信息完整性​​,减少生成错误答案的概率。
下面作者将根据吴恩达《LangChain for LLM Application Development》 视频课程来做一些课程笔记,这门课程非常不错,很适合那些有编程基础的读者学习大模型应用开发。由于代码里吴恩达用的是openAI 模型,收费高国内还不好用,langChain可以使用不同的模型,我将代码换成阿里巴巴的千问大模型,方便大家使用。

L1 ,model prompt parser.
第一节,模型,提示词和解析器

1.核心概念介绍

  • 模型 model:指语言模型,是大语言模型应用的基础支撑。
  • 提示词 prompt:即创建输入的风格,其决定传递给模型的信息内容和形式。
  • 解析器 parser:负责将模型输出解析为结构化格式,便于后续处理。

模型与提示的应用实践
基础示例:利用大模型,通过自定义助手函数调用 千问大模型 qwen-plus,如询问 “一加一等于什么” 获取回答。
使用千问大模型需要在阿里官网开通appkey具体如何使用和配置千问大模型 参考如下链接
https://blog.csdn.net/roccreed/article/details/141927269
(linux 和macos 配置环境变量方式和上面不一样在这里插入代码片)

import os
from openai import OpenAIclient = OpenAI(# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
client
llm_model = "qwen-plus"def get_completion(prompt, model=llm_model):messages = [{"role": "user", "content": prompt}]response = client.chat.completions.create(model=model,messages=messages,temperature=0, )return response.choices[0].message.contentget_completion("What is 1+1?")

文本翻译案例:收到客户邮件时,使用大语言模型将用户的不规范的口语化的海盗式英语其翻译成平静而有礼貌的美式英语。先通过字符串构建翻译提示,后利用 LangChain 的 ChatOpenAI 和 ChatPromptTemplate 创建提示模板。设置温度参数(如设为 0 使输出更稳定),指定翻译样式和文本等输入变量,生成提示并传递给模型获取翻译结果。此方法可复用提示模板,处理不同语言客户邮件翻译,且修改提示能得到不同结果。

customer_email = """
Arrr, I be fuming that me blender lid \
flew off and splattered me kitchen walls \
with smoothie! And to make matters worse,\
the warranty don't cover the cost of \
cleaning up me kitchen. I need yer help \
right now, matey!
"""style = """American English \
in a calm and respectful tone
"""prompt = f"""Translate the text \
that is delimited by triple backticks 
into a style that is {style}.
text: ```{customer_email}```
"""print(prompt)response = get_completion(prompt)
print(response)#下面是ChatPromptTemplate实现方式
from langchain_openai import ChatOpenAIchat = ChatOpenAI(openai_api_base="https://dashscope.aliyuncs.com/compatible-mode/v1",
#     openai_api_key="sk-xxx",    # app_keyopenai_api_key=os.getenv("DASHSCOPE_API_KEY"),model_name="qwen-plus",    # 模型名称temperature=0.0
)template_string = """Translate the text \
that is delimited by triple backticks \
into a style that is {style}. \
Translated into {Language}
text: ```{text}```
"""customer_style = """American English \
in a calm and respectful tone
"""
customer_style = """American English \
in a calm and respectful tone
"""customer_email = """
Arrr, I be fuming that me blender lid \
flew off and splattered me kitchen walls \
with smoothie! And to make matters worse, \
the warranty don't cover the cost of \
cleaning up me kitchen. I need yer help \
right now, matey!
"""
customer_language = """french"""customer_messages = prompt_template.format_messages(style=customer_style,text=customer_email,Language = customer_language)print(customer_messages[0])customer_response = chat.invoke(customer_messages)
print(customer_response.content)

输出解析的应用实践
在复杂应用中,常要求模型按特定格式输出(如 JSON 格式)。常见的比如从产品评论提取信息为例,模型直接输出看似 JSON 格式的字符串,但实际是普通字符串,无法像字典一样提取值,因此需要输出解析,即由模型提取我们需要的内容以json输出,以方便我们的程序做存储和判断。

customer_review = """\
This leaf blower is pretty amazing.  It has four settings:\
candle blower, gentle breeze, windy city, and tornado. \
It arrived in two days, just in time for my wife's \
anniversary present. \
I think my wife liked it so much she was speechless. \
So far I've been the only one using it, and I've been \
using it every other morning to clear the leaves on our lawn. \
It's slightly more expensive than the other leaf blowers \
out there, but I think it's worth it for the extra features.
"""review_template = """\
For the following text, extract the following information:gift: Was the item purchased as a gift for someone else? \
Answer True if yes, False if not or unknown.delivery_days: How many days did it take for the product \
to arrive? If this information is not found, output -1.price_value: Extract any sentences about the value or price,\
and output them as a comma separated Python list.Format the output as JSON with the following keys:
gift
delivery_days
price_valuetext: {text}
"""
from langchain.prompts import ChatPromptTemplateprompt_template = ChatPromptTemplate.from_template(review_template)
print(prompt_template)messages = prompt_template.format_messages(text=customer_review)
# chat = ChatOpenAI(temperature=0.0, model=llm_model)
chat = ChatOpenAI(openai_api_base="https://dashscope.aliyuncs.com/compatible-mode/v1",openai_api_key=os.getenv("DASHSCOPE_API_KEY"),model_name="qwen-plus",    # 模型名称temperature=0.0
)
response = chat.invoke(messages)
print(response.content)type(response.content)
print(response.content)
#此处输出的是str类型

使用StructuredOutputParser实现,并输出字典类型


from langchain.output_parsers import ResponseSchema
from langchain.output_parsers import StructuredOutputParsergift_schema = ResponseSchema(name="gift",description="Was the item purchased\as a gift for someone else? \Answer True if yes,\False if not or unknown.")
delivery_days_schema = ResponseSchema(name="delivery_days",description="How many days\did it take for the product\to arrive? If this \information is not found,\output -1.")
price_value_schema = ResponseSchema(name="price_value",description="Extract any\sentences about the value or \price, and output them as a \comma separated Python list.")response_schemas = [gift_schema, delivery_days_schema,price_value_schema]output_parser = StructuredOutputParser.from_response_schemas(response_schemas)
format_instructions = output_parser.get_format_instructions()
print(format_instructions)review_template_2 = """\
For the following text, extract the following information:gift: Was the item purchased as a gift for someone else? \
Answer True if yes, False if not or unknown.delivery_days: How many days did it take for the product\
to arrive? If this information is not found, output -1.price_value: Extract any sentences about the value or price,\
and output them as a comma separated Python list.text: {text}{format_instructions}
"""prompt = ChatPromptTemplate.from_template(template=review_template_2)messages = prompt.format_messages(text=customer_review, format_instructions=format_instructions)print(messages[0].content)response = chat.invoke(messages)
print(response.content)output_dict = output_parser.parse(response.content)
type(output_dict)
print(output_dict)output_dict.get('delivery_days')
output_dict.get('gift')
output_dict.get('price_value')

相关文章:

LangChain构建大模型应用之RAG

RAG(Retrieval-augmented Generation 检索增强生成)是一种结合信息检索与生成模型的技术,通过动态整合外部知识库提升大模型输出的准确性和时效性。其核心思想是在生成答案前,先检索外部知识库中的相关信息作为上下文依据&#xf…...

Git 全面解析:从核心概念到生态应用

Git 一、Git 起源与定位 诞生背景:2005 年由 Linus Torvalds 为管理 Linux 内核开发而设计,因 BitKeeper 许可证争议,急需分布式版本控制系统(DVCS)替代集中式工具(如 SVN)。核心优势&#x…...

国产免费工作流引擎star 5.9k,Warm-Flow版本升级1.7.0(新增大量好用功能)

国产免费工作流引擎star 5.9k,Warm-Flow版本升级1.7.0(新增大量好用功能) 主要更新内容项目介绍功能思维导图设计器流程图演示地址官网Warm-Flow视频 之前大家一直吐槽没有撤销、驳回到上一个任务和拿回等功能,此次版本全都带给大…...

camera知识学习

1、DSP DSP(数字信号处理器),这个是介于sensor和ISP处理的一个处理阶段,会进行一些传感器方面的偏硬件处理,再进行数据格式的转换,将raw数据转换成RGB数据或者YUV数据...

Java高频常用工具包汇总

Java高频常用工具包汇总 Java生态系统中有许多广泛使用的工具包,以下是一些高频常用的工具包分类汇总: 1. 核心工具包 Apache Commons系列 Commons Lang - 提供各种基础工具类Commons IO - 文件/IO操作工具Commons Collections - 集合扩展工具Commons …...

蓝桥杯 16. 密文搜索

密文搜索 原题目链接 题目描述 福尔摩斯从 X 星收到一份资料,全部是小写字母组成。 他的助手提供了另一份资料:许多长度为 8 的密码列表。 福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的。 请你编写一个程序,从第…...

Spring Boot 中多线程的基础使用

1. 核心机制 Spring Boot 通过 TaskExecutor 和 Async 注解支持多线程编程,结合线程池管理,有效提升应用性能。核心组件包括: EnableAsync:启用异步任务支持。 Async:标记方法为异步执行。 ThreadPoolTaskExecutor&…...

660SJBH企业信息管理系统

第一章 问题来源 1.1 课题提出背景和意义 由于企业规模进一步扩大,企业信息的管理也变得越来越复杂。为此,切实有效的把企业信息管理系统引入企业管理领域中,对于促进企业管理制度和提高企业质量有着显着意义。 Internet的发展使我们的企业…...

OpenCV实验室工具的使用

OpenCV实验室工具是一个调用OpenCV常见函数,让用户调整参数,快速得到试验结果的工具软件。 软件界面中包含三列,第一列是功能菜单,第二列是实现某一功能时需要输入的参数,第三列是图像处理历史。 OpenCV实验室包含了常…...

月之暗面开源-音频理解、生成和对话生成模型:Kimi-Audio-7B-Instruct

一、Kimi - Audio 简介 Kimi - Audio 是一个开源的音频基础模型,在音频理解、生成和对话等方面表现出色。其设计旨在作为一个通用的音频基础模型,能够在单一统一的框架内处理各种音频处理任务,如语音识别(ASR)、音频问…...

依赖于切片级标签,结合信息瓶颈理论,对弱监督病理切片分类模型进行微调

小罗碎碎念 在医学AI领域,病理全切片图像(WSI)分析意义重大,但面临诸多难题。 高分辨率的WSI使得获取精确注释极为困难,且计算成本高昂。 多实例学习(MIL)虽能利用WSI级弱监督缓解注释压力&…...

UE5 NDisplay 单主机打包运行

前言 最近在做UE的左右眼双屏输出,找了半天只有近年来比较火的NDispaly可以做这件事了,看了一下官方的教程写的很全面,但是相对笼统了一些,发现B站和一些博客了也写了有,但是我建议还是好好过一遍官方文档吧&#xff0…...

Kubernetes/KubeSphere 安装踩坑记:从 context deadline exceeded 到成功部署的完整排障笔记

目录 Kubernetes/KubeSphere 安装踩坑记:从 context deadline exceeded 到成功部署的完整排障笔记 一、问题现象 二、第一手日志采集 三、定位思路 四、分步解决 4-1 处理 pause:3.8 4-2 处理 kube-apiserver:v1.31.0 五、再次安装并验证 六、经验总结 七…...

SpringMVC 静态资源处理 mvc:default-servlet-handler

我们先来看看效果,当我把这一行注释掉的时候&#xff1a; 我们来看看页面&#xff1a; 现在我把注释去掉&#xff1a; 、 可以看到的是&#xff0c;这个时候又可以访问了 那么我们就可以想&#xff0c;这个 <mvc:default-servlet-handler />它控制着我们页面的访问…...

2、Linux操作系统下,ubuntu22.04版本安装搜狗输入法

1.添加中文语言支持&#xff0c;打开此窗口的步骤如下&#xff1a; system setting>language and region>language>install/remove language&#xff0c;之后弹出下面的窗口&#xff0c;点击“reminder me later勾选Chinese&#xff08;simplified&#xff09;&#…...

go语言八股文(四)

1.go语言中defer的变量快照在什么情况下会生效 1. 变量在 defer 被注册时的值被捕获 当 defer 被注册时&#xff0c;它会捕获变量在那一刻的值。如果变量是值类型&#xff08;如基本类型、结构体等&#xff09;&#xff0c;defer 会捕获该值的副本&#xff1b;如果变量是指针类…...

烽火HG680-MC_晨星MSO9385芯片-2+8G_安卓9.0_不分地区通刷卡刷固件包

烽火HG680-MC_晨星MSO9385芯片-28G_安卓9.0_不分地区通刷卡刷固件包 刷机教程&#xff1a; 1、准备一个优盘卡刷强刷刷机&#xff0c;用一个usb2.0的8G以下U盘&#xff0c;fat32&#xff0c;2048块单分区格式化&#xff08;强刷对&#xff35;盘非常非常挑剔&#xff0c;usb2.…...

秒杀压测计划 + Kafka 分区设计参考

文章目录 前言&#x1f680; 秒杀压测计划&#xff08;TPS预估 测试流程&#xff09;1. 目标设定2. 压测工具推荐3. 压测命令示例&#xff08;ab版&#xff09;4. 测试关注指标 &#x1f4e6; Kafka Topic 分区设计参考表1. 单 Topic 设计2. 分区路由规则设计&#xff08;Part…...

跨境电商货物体积与泡重计算器:高效便捷的物流计算工具

跨境电商货物体积与泡重计算器&#xff1a;高效便捷的物流计算工具 工具简介 货物体积与泡重计算器是一款免费的在线工具&#xff0c;专门为物流从业者、跨境电商卖家和需要计算货物运输体积重量的用户设计。这款工具可以帮助您快速计算货物的体积和对应的空运、快递泡重&…...

隧道代理ip的优势

日益复杂的互联网环境中&#xff0c;爬虫技术已经成为大数据不可或缺的一环。提到代理IP&#xff0c;大部分人首先想到的是普通的静态IP或动态代理IP&#xff0c;然而&#xff0c;隧道代理IP――这一更为高效、灵活的选择&#xff0c;在许多场景中能为开发者们提供绝佳的技术支…...

Selenium自动化测试+OCR-获取图片页面小说

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 随着爬虫技术的发展&#xff0c;反爬虫技术也越来越高。 目前有些网站通过自定义字体库的方式实现反爬&#xff0c;主要表现在页面数据显示正常&#xff0c;但是…...

MySQL 锁等待超时问题解析:Lock wait timeout exceeded;try restarting transaction

目录 一、问题背景二、问题原因三、解决方案1. 重启事务2. 优化事务管理3. 调整锁等待超时设置4. 分析并优化锁竞争5. 查找并终止持有锁的操作6. 优化 SQL 语句四、预防措施五、总结在使用 MySQL 数据库时, Lock wait timeout exceeded;try restarting transaction 这个错误…...

学习笔记2(Lombok+算法)

Lombok &#xff1a; 介绍&#xff1a; Lombok 是一个在 Java 开发中广泛使用的开源库&#xff0c;它的主要作用是通过注解的方式&#xff0c;减少 Java 代码中大量的样板代码&#xff08;如 getter、setter、构造函数等&#xff09;&#xff0c;从而让代码更加简洁、易读和易…...

【音视频】SDL简介

官网&#xff1a;官网 文档&#xff1a;文档 SDL&#xff08;Simple DirectMedia Layer&#xff09;是一套开放源代码的跨平台多媒体开发库&#xff0c;使用C语言写成。SDL提供数种控制图像、声音、输出入的函数&#xff0c;让开发者只 要用相同或是相似的代码就可以开发出跨多…...

信创系统资产清单采集脚本:主机名+IP+MAC 一键生成 CSV

原文链接&#xff1a;信创系统资产清单采集脚本&#xff1a;主机名IPMAC 一键生成 CSV Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇在信创终端操作系统上自动批量采集主机名、IP 和 MAC 并导出为 CSV 表格的实战文章&#xff01;本方案使用 sshpass 和 Bash 脚本…...

Python爬虫(8)Python数据存储实战:JSON文件读写与复杂结构化数据处理指南

目录 一、背景与核心价值‌二、JSON基础与核心应用场景‌2.1 JSON数据结构规则‌2.2 典型应用场景 三、Python json模块核心操作‌‌3.1 基础读写&#xff1a;dump()与load()‌3.2 字符串与对象的转换&#xff1a;dumps()与loads()‌ 四、处理复杂数据类型‌4.1 日期时间对象‌…...

OpenStack私有云详细介绍

引言 企业部署云计算服务的模式有公有云、私有云、混合云三大类。 公有云是云计算服务提供商为公众提供服务的云计算平台&#xff0c;理论上任何人都可以通过授权接入该平台。 私有云是云计算服务提供商为企业在其内部建设的专有云计算系统&#xff0c;私有云系统存在于企业防火…...

6.图的OJ题(1-10,未完)

310. 最小高度树 - 力扣&#xff08;LeetCode&#xff09; 分析&#xff1a;n个顶点的无环无向连通图&#xff0c;有n-1条边。 1&#xff09;任意两点有且只有一条路径 2&#xff09;路径最远的两顶点必为叶子节点 且根据证明可以得出以下两个性质&#xff1a; 1.最小高度树的根…...

【愚公系列】《Manus极简入门》005-DeepSeek与Manus的创新之处

&#x1f31f;【技术大咖愚公搬代码&#xff1a;全栈专家的成长之路&#xff0c;你关注的宝藏博主在这里&#xff01;】&#x1f31f; &#x1f4e3;开发者圈持续输出高质量干货的"愚公精神"践行者——全网百万开发者都在追更的顶级技术博主&#xff01; &#x1f…...

犬面部检测数据集VOC+YOLO格式987张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;987 标注数量(xml文件个数)&#xff1a;987 标注数量(txt文件个数)&#xff1a;987 标注…...

深入解析MyBatis-Plus中的lambdaUpdate与lambdaQuery

一、引言 在现代Java持久层开发中&#xff0c;MyBatis-Plus作为MyBatis的增强工具&#xff0c;提供了许多便捷的功能&#xff0c;其中lambdaUpdate和lambdaQuery是基于Lambda表达式的两种强大操作方式。它们不仅提高了代码的可读性&#xff0c;还减少了SQL编写错误&#xff0c…...

OneNet云平台

一、基础信息 设备名称&#xff1a;test1 设备密钥&#xff1a;N1drd3BZc0h0WDNWaXRtdjlFbjUxTHFhTGtWcW1VWjQ 产品ID&#xff1a;EcO4iSzv5b url&#xff1a; 端口号&#xff1a;1883 password&#xff1a;version2018-10-31&resproducts%2FEcO4iSzv5b%2Fdevices%2Fte…...

使用Nestjs, Bun 和 NCC 打造高效的 Node.js 应用构建流程

使用Nestjs, Bun 和 NCC 打造高效的 Node.js 应用构建流程 在现代 Node.js 应用开发中&#xff0c;构建和打包流程的效率对项目的迭代速度和部署效果有着重要影响。本文将介绍如何结合 Nestjs ,Bun 和 NCC 工具&#xff0c;构建出高效且优化的 Node.js 应用。 一、项目构建的…...

迷你世界UGC3.0脚本Wiki组件事件管理

迷你世界UGC3.0脚本Wiki Menu On this page Sidebar Navigation 快速入门 首页 组件介绍 MOD、组件介绍 什么是Lua编程 开发者常见问题 组件介绍 组件函数 组件属性 全局函数 对象介绍 触发器脚本交互 脚本方法 二维表介绍 组件说明 事件 触发器事件管理 组件事件管理 函数库 服…...

多层pcb批量工厂哪家好?

在电子产业高速发展的当下&#xff0c;多层PCB作为硬件设备的核心载体&#xff0c;其品质与交付效率直接影响终端产品的市场竞争力。面对从消费电子到航空航天等领域的多元化需求&#xff0c;选择一家技术过硬、服务灵活且具备规模化生产能力的工厂至关重要。经过对当前行业动态…...

【MQ篇】RabbitMQ之死信交换机!

目录 引言&#xff1a;消息不死&#xff0c;只是变成死信&#xff1f;初识死信交换机&#xff1a;死信从哪来&#xff1f;DLX 干啥的&#xff1f;什么是死信&#xff1f;什么是死信交换机 (DLX)&#xff1f;死信的旅程&#xff1a;如何从队列到达 DLX 并被路由&#xff1f;&…...

CI/CD解决方案TeamCity在游戏开发中的应用价值与优势分析

TeamCity是用于游戏开发的最流行的CI/CD工具之一。从独立开发者到3A工作室和游戏发行商&#xff0c;各种规模的公司都在使用。无论您在制作流程中使用何种工具&#xff0c;TeamCity都支持您为任何的工作流程设置全面的构建-测试-发布管道。 TeamCity如何增强您的游戏开发工作流…...

泰迪杯实战案例超深度解析:运输车辆安全驾驶行为分析与安全评价系统设计

(第七届泰迪杯数据挖掘挑战赛C题特等奖案例解析) 一、案例背景与目标 1.1 应用场景与痛点 在道路运输行业,不良驾驶行为(如急加速、急减速、疲劳驾驶)是引发交通事故的主要诱因,占事故总量的70%以上。某运输企业通过车联网系统采集了450辆运输车辆的高频数据(每秒1条)…...

C++初阶-模板初阶

目录 1.泛型编程 2.函数模板 2.1函数模板概念 2.2实现函数模板 2.3模板的原理 2.4函数模板的实例化 2.4.1隐式实例化 2.4.2显式初始化 2.5模板参数的匹配原则 3.类模板 3.1类模板定义格式 3.2类模板的实例化 4.总结 1.泛型编程 对广泛的类型法写代码&#xff0c;我…...

计算机网络自顶向下思维导图

主要就是记录下自己做的1-6章的思维导图&#xff0c;内容包含了每章每节内的重点内容 可能又错别字以及错误&#xff0c;欢迎指出 需要注意使用的是第七版的书 第一章 第二章 第二章二 第三章 第四章 第五章 第六章...

机器学习-入门-线性模型(1)

机器学习-入门-线性模型(1) 文章目录 机器学习-入门-线性模型(1)3.1 线性回归3.2 最小二乘解3.3 多元线性回归 3.1 线性回归 f ( x i ) w x i b 使得 f ( x i ) ≃ y i f(x_i) wx_i b \quad \text{使得} \quad f(x_i) \simeq y_i f(xi​)wxi​b使得f(xi​)≃yi​ 离散属性…...

Spark-Streaming3

无状态转换操作与有状态转换操作 无状态转换操作&#xff1a; 无状态转换操作仅处理当前时间跨度内的数据。例如&#xff0c;设置的采集时间为三秒&#xff0c;则只处理这三秒内的数据。 有状态转换操作(UpdateStateByKey)&#xff1a; 有状态转换操作可以跨批次处理数据。涉及…...

【Pandas】pandas DataFrame rfloordiv

Pandas2.2 DataFrame Binary operator functions 方法描述DataFrame.add(other)用于执行 DataFrame 与另一个对象&#xff08;如 DataFrame、Series 或标量&#xff09;的逐元素加法操作DataFrame.add(other[, axis, level, fill_value])用于执行 DataFrame 与另一个对象&…...

【Spark入门】Spark简介:分布式计算框架的演进与定位

目录 1 大数据计算框架的演进历程 1.1 Hadoop MapReduce&#xff1a;第一代分布式计算框架 1.2 Spark的诞生与革新 2 Spark的核心架构与优势 2.1 Spark架构概览 2.2 Spark的核心优势解析 3 Spark的适用场景与定位 3.1 典型应用场景 3.2 技术定位分析 4 Spark与Hadoop…...

基于ArcGIS的洪水淹没分析技术-洪水灾害普查、风险评估及淹没制图中的实践技术

洪水灾害是全球面临的主要自然灾害之一&#xff0c;对人类社会和自然环境造成巨大影响。准确的洪水淹没分析对于灾害预防、风险评估及应急响应至关重要。ArcGIS作为一款强大的地理信息系统软件&#xff0c;在洪水淹没分析领域具有显著优势。ArcGIS的洪水淹没分析主要依赖于其强…...

【数据可视化-38】基于Plotly得泰坦尼克号数据集的多维度可视化分析

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

数据库MySQL学习——day6(多表查询(JOIN)基础)

文章目录 1、关系型数据库中的表关系2、连接&#xff08;JOIN&#xff09;的基本概念3、INNER JOIN&#xff08;内连接&#xff09;3.1. 概念3.2. 语法结构 4、LEFT JOIN&#xff08;左连接&#xff09;4.1. 概念4.2. 语法结构 5、RIGHT JOIN&#xff08;右连接&#xff09;&am…...

Mysql如何高效的查询数据是否存在

文章目录 1. 三种方法2. 查询语句执行流程3. 三种方式对比 1. 三种方法 在业务中,我们有时候需要查询某个数据在数据表中是否存在,常见的方式有三种 SELECT COUNT(*) FORM tb_name WHERE conditionSELECT 1 FROM tb_name WHERE conditionSELECT EXISTS (SELECT 1 FROM tb_nam…...

MySQL快速入门篇---增删改查(下)

目录 一、修改&#xff08;Update&#xff09; 1.语法 2.示例 二、删除&#xff08;Delete&#xff09; 1.语法 2.示例 三、聚合函数 1.示例 1.1、COUNT 1.2、SUM 1.3、AVG 1.4、MAX 1.5、MIN 四、分组查询&#xff08;GROUP BY&#xff09; 1.语法 2.示例 …...

Mysql中隐式内连接和显式内连接的区别

1. 内连接&#xff08;INNER JOIN&#xff09; 内连接是数据库中一种常见的连接方式&#xff0c;用于从两个或多个表中返回满足连接条件的记录&#xff0c;即只返回两张表中匹配的行。 示例场景&#xff1a;有学生表&#xff08;包含学生 ID 和姓名&#xff09;和成绩表&…...