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

LangChain 23 Agents中的Tools用于增强和扩展智能代理agent的功能

LangChain系列文章

  1. LangChain 实现给动物取名字,
  2. LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字
  3. LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄
  4. LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索Indexes for information retrieve
  5. LangChain 5易速鲜花内部问答系统
  6. LangChain 6根据图片生成推广文案HuggingFace中的image-caption模型
  7. LangChain 7 文本模型TextLangChain和聊天模型ChatLangChain
  8. LangChain 8 模型Model I/O:输入提示、调用模型、解析输出
  9. LangChain 9 模型Model I/O 聊天提示词ChatPromptTemplate, 少量样本提示词FewShotPrompt
  10. LangChain 10思维链Chain of Thought一步一步的思考 think step by step
  11. LangChain 11实现思维树Implementing the Tree of Thoughts in LangChain’s Chain
  12. LangChain 12调用模型HuggingFace中的Llama2和Google Flan t5
  13. LangChain 13输出解析Output Parsers 自动修复解析器
  14. LangChain 14 SequencialChain链接不同的组件
  15. LangChain 15根据问题自动路由Router Chain确定用户的意图
  16. LangChain 16 通过Memory记住历史对话的内容
  17. LangChain 17 LangSmith调试、测试、评估和监视基于任何LLM框架构建的链和智能代理
  18. LangChain 18 LangSmith监控评估Agent并创建对应的数据库
  19. LangChain 19 Agents Reason+Action自定义agent处理OpenAI的计算缺陷
  20. LangChain 20 Agents调用google搜索API搜索市场价格 Reason Action:在语言模型中协同推理和行动
  21. LangChain 21 Agents自问自答与搜索 Self-ask with search
  22. LangChain 22 LangServe用于一键部署LangChain应用程序
    在这里插入图片描述

1. tools 用于增强和扩展Agents

在Langchain框架中,tools是一种重要的组件,用于增强和扩展智能代理(agent)的功能。这些tools提供了一系列附加能力,使得代理可以执行特定的任务,处理复杂的数据类型,或与外部服务进行交互。以下是对Langchain中tools的详细解释:
在这里插入图片描述

定义和作用

  • 定义tools在Langchain中指的是可以被智能代理用来执行特定操作或任务的功能模块或服务。
  • 作用:这些工具使得代理不仅限于其内置的语言处理能力,还可以执行更复杂的任务,如数据分析、图像处理、网络搜索等。

类型和示例

  1. 数据处理工具:用于处理和分析数据,如数据清洗、格式转换、统计分析等。
  2. 搜索工具:使代理能够进行网络搜索,获取信息或回答查询。
  3. 交互工具:用于提高与用户的交互效果,如自然语言理解、情感分析等。
  4. API集成:允许代理与外部API进行交互,获取或发送数据。

实现方式

  • 集成tools通常通过API或特定的编程接口集成到Langchain框架中。
  • 配置:开发者可以根据需要配置和定制tools,以适应特定的应用场景。

应用场景

  • 多功能代理:使用tools扩展代理的能力,让其能处理更多类型的任务。
  • 特定任务:针对特定的业务需求或技术挑战,定制相应的tools
  • 用户体验:通过交互和数据处理工具,提高代理与用户互动的质量和效果。

优势和局限性

  • 优势:提供灵活性和扩展性,使代理能够适应多种不同的任务和场景。
  • 局限性:依赖外部服务或数据源可能带来安全性和可靠性方面的考虑。

结论

Langchain中的tools为开发者提供了一种强大的方式来增强智能代理的功能和适用范围。通过合理地选择和配置这些工具,可以创建出能够处理复杂任务、提供丰富交互体验的高效智能代理。然而,开发者需要考虑到集成外部工具的安全性和稳定性,确保整体系统的可靠运行。

2. Langchain的tools的arxiv

在Langchain中,arxiv是一种特定的工具(tool),用于与Arxiv API进行交互。Arxiv API是一个公开的接口,允许用户访问Arxiv数据库中的大量科学论文和出版物。下面是对arxiv工具的详细介绍:

Arxiv API Wrapper

  • 功能ArxivAPIWrapper是一个封装器(wrapper),它简化了与Arxiv API的交互,使得在Langchain中可以方便地获取论文信息。
  • 用途:通过这个工具,Langchain智能代理可以查询Arxiv数据库,获取特定论文的信息,如标题、作者、摘要、发表日期等。

使用方式

  • 初始化:首先,需要创建ArxivAPIWrapper的实例。这通常在初始化智能代理时通过load_tools函数完成。
  • 查询:可以通过传递论文的唯一标识符(如arXiv ID)来查询特定论文的详细信息。

示例应用

  • 论文摘要获取:可以获取指定论文的摘要,用于了解论文的主要内容和贡献。
  • 作者信息查询:可以检索特定作者的发布论文列表或其研究领域。
  • 论文搜索:支持按关键词或其他条件搜索相关论文。

优点

  • 直接访问:提供了直接访问科学论文数据库的便利,方便在智能代理中嵌入学术研究的功能。
  • 自动化信息检索:可以自动化地检索和处理大量学术数据,提高效率。

使用场景

  • 学术研究辅助:用于帮助研究人员快速找到相关的学术资料。
  • 教育和学习:在教育应用中,可以用于获取特定领域的最新研究成果。

注意事项

  • 版权和使用限制:在使用Arxiv API获取的数据时,需要遵守相关的版权和使用条款。
  • 数据准确性:虽然Arxiv提供的是学术论文,但用户在使用这些信息时仍需自行判断其准确性和可靠性。

总的来说,Langchain中的arxiv工具提供了一个方便的接口,让智能代理能够轻松访问和利用Arxiv上的丰富学术资源。

3. 代码实现

读取paper 的信息 Large Language Models
在这里插入图片描述

Tools/chat_tools_arxiv.py这段代码主要用于演示如何使用Langchain结合OpenAI聊天模型和Arxiv API来获取论文相关的信息。代码中包含了从加载环境变量、初始化智能代理到使用API获取数据的完整流程。

from langchain.llms import OpenAI  # 导入Langchain库的OpenAI模块,提供与OpenAI模型的交互功能
from langchain.prompts import PromptTemplate  # 导入用于创建和管理提示模板的模块
from langchain.chains import LLMChain  # 导入用于构建基于大型语言模型的处理链的模块
from dotenv import load_dotenv  # 导入dotenv库,用于从.env文件加载环境变量,管理敏感数据如API密钥
from langchain.chat_models import ChatOpenAI  # 导入用于创建和管理OpenAI聊天模型的类
from langchain.agents import AgentType, initialize_agent, load_tools  # 导入用于初始化智能代理和加载工具的函数
from langchain.utilities import ArxivAPIWrapper  # 导入Arxiv API的包装器,用于与Arxiv数据库交互load_dotenv()  # 调用dotenv函数加载.env文件中的环境变量llm = ChatOpenAI(temperature=0.0)  # 创建一个温度参数为0.0的OpenAI聊天模型实例,温度0意味着输出更确定性
tools = load_tools(["arxiv"])  # 加载Arxiv工具,以便代理可以访问Arxiv数据库信息agent_chain = initialize_agent(tools,llm,agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,verbose=True,  # 初始化一个智能代理,使用零次学习的方式来根据描述做出反应
)paper = "2307.05782"
response = agent_chain.run("请描述论文的主要内容 " + paper)  # 运行代理链,获取指定论文ID的内容描述
print(response)  # 打印论文描述的响应arxiv = ArxivAPIWrapper()
docs = arxiv.run(paper)  # 使用Arxiv API获取特定论文的详细信息
print(docs)  # 打印论文的详细信息author = arxiv.run("Michael R. Douglas")  # 使用Arxiv API获取指定作者的信息
print(author)  # 打印作者信息nondocs = arxiv.run("1605.08386WWW")  # 尝试使用一个非标准格式的ID来获取信息,可能无法正确检索
print(nondocs)  # 打印这次非标准检索的结果

运行结果如下

(develop)⚡ % python Tools/chat_tools_arxiv.py                            ~/Workspace/LLM/langchain-llm-app> Entering new AgentExecutor chain...
I need to find the main content of the paper with the given arXiv ID.
Action: arxiv
Action Input: 2307.05782
Observation: Published: 2023-10-06
Title: Large Language Models
Authors: Michael R. Douglas
Summary: Artificial intelligence is making spectacular progress, and one of the best
examples is the development of large language models (LLMs) such as OpenAI's
GPT series. In these lectures, written for readers with a background in
mathematics or physics, we give a brief history and survey of the state of the
art, and describe the underlying transformer architecture in detail. We then
explore some current ideas on how LLMs work and how models trained to predict
the next word in a text are able to perform other tasks displaying
intelligence.
Thought:The main content of the paper is about large language models, specifically focusing on the development of OpenAI's GPT series. It provides a history and survey of the state of the art, describes the transformer architecture, and explores current ideas on how LLMs work and their ability to perform various tasks displaying intelligence.
Final Answer: The main content of the paper is about large language models, with a focus on OpenAI's GPT series and their underlying transformer architecture.> Finished chain.
The main content of the paper is about large language models, with a focus on OpenAI's GPT series and their underlying transformer architecture.
(develop)⚡ % python Tools/chat_tools_arxiv.py                            ~/Workspace/LLM/langchain-llm-app
Published: 2023-10-06
Title: Large Language Models
Authors: Michael R. Douglas
Summary: Artificial intelligence is making spectacular progress, and one of the best
examples is the development of large language models (LLMs) such as OpenAI's
GPT series. In these lectures, written for readers with a background in
mathematics or physics, we give a brief history and survey of the state of the
art, and describe the underlying transformer architecture in detail. We then
explore some current ideas on how LLMs work and how models trained to predict
the next word in a text are able to perform other tasks displaying
intelligence.
(develop)⚡ % python Tools/chat_tools_arxiv.py                            ~/Workspace/LLM/langchain-llm-app
Published: 2006-02-24
Title: Understanding the landscape
Authors: Michael R. Douglas
Summary: Based on comments made at the 23rd Solvay Conference, December 2005,
Brussels.Published: 2005-08-09
Title: Random algebraic geometry, attractors and flux vacua
Authors: Michael R. Douglas
Summary: This is a submission to the Encyclopedia of Mathematical Physics (Elsevier,
2006) and conforms to its referencing guidelines.Published: 2001-05-02
Title: D-Branes and N=1 Supersymmetry
Authors: Michael R. Douglas
Summary: We discuss the recent proposal that BPS D-branes in Calabi-Yau
compactification of type II string theory are Pi-stable objects in the derived
category of coherent sheaves.
(develop)⚡ % python Tools/chat_tools_arxiv.py                            ~/Workspace/LLM/langchain-llm-app
No good Arxiv Result was found

4. 根据给定的描述或指令理解并执行任务ZERO_SHOT_REACT_DESCRIPTION

Langchain中的ZERO_SHOT_REACT_DESCRIPTION是一种用于定义和构建智能代理(agent)的方法,属于Langchain框架中的一个组件。它专注于实现代理的“零次学习”(zero-shot learning)能力,即在没有针对具体任务进行专门训练的情况下,根据描述直接做出反应和处理问题。下面详细解释这个概念:

零次学习(Zero-Shot Learning)

  • 定义:零次学习是一种机器学习方法,使得模型能够处理它在训练阶段没有直接见过的任务或数据。这种方法依赖于模型对问题的一般理解和处理能力。
  • 应用:在Langchain中,这意味着智能代理可以根据描述直接处理各种问题,而不需要针对每种问题进行单独的训练。

Langchain中的ZERO_SHOT_REACT_DESCRIPTION

  • 作用:这个模式使得代理能够根据给定的描述或指令理解并执行任务。代理会使用其内置的语言模型来解析和响应问题。
  • 实现:通常,这涉及到使用大型语言模型(如GPT系列)来解析自然语言描述,并根据这些描述生成回应或执行操作。
  • 优势:这种方法的优势在于灵活性和广泛的适用性,代理不需要对每一种特定的任务类型进行训练即可应对新问题。
  • 局限性:然而,由于它依赖于模型的通用理解能力,可能在特定、复杂或非常专业化的任务上不如专门训练的模型准确。

应用场景

  • 多功能代理:能够处理各种类型的查询和任务,如信息检索、简单的数据分析、生成文本等。
  • 快速适应新任务:在新场景或对新类型的问题作出响应时,不需要额外的训练或配置。

结论

ZERO_SHOT_REACT_DESCRIPTION在Langchain中为开发者提供了一种构建能够处理多种任务的通用智能代理的方法。这种方法特别适合于快速开发和部署、需要高度灵活性和广泛适用性的应用场景。然而,对于需要高度专业化或极端精确度的任务,可能需要考虑其他更专门化的解决方案。

代码

https://github.com/zgpeace/pets-name-langchain/tree/develop

参考

https://python.langchain.com/docs/integrations/tools/arxiv

相关文章:

LangChain 23 Agents中的Tools用于增强和扩展智能代理agent的功能

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…...

VS2015编译GDAL3.2.0+opencl+C#

参考借鉴https://www.cnblogs.com/litou/p/15004877.html 参考借鉴https://www.cnblogs.com/xiaowangba/p/6313903.html 参考借鉴gdal、proj、geos、sqlite等在VS2015下编译和配置_vs2015编译sqlite3-CSDN博客 参考借鉴Windows下GDAL3.1.2编译 (VS2015)_gdal windows编译-CS…...

3、Linux_系统用户管理

1.Linux 用户管理 1.1概述 Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。root用户是系统默认创建的管理员账号。 1.2添加用户 语法 useradd […...

C语言指针详解上

1 野指针 int main01(){//野指针就是没有初始化的指针,指针的指向是随机的,不可以 操作野指针//int a 0;//指针p保存的地址一定是定义过的(向系统申请过的)int *p;//野指针*p 200;printf("%d\n",*p);system("pause");return 0;}2 空指针 空指针的作用…...

力扣面试150题 | 27.移除元素

力扣面试150题 | 27.移除元素 题目描述解题思路代码实现复杂度分析 题目描述 27.移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必…...

JAVA 通过get,post访问远程接口

get请求 参数拼接在url ?namevalue&sexvalue // httpurlhttp:127.0.0.1/project public static String doGet(String httpurl){HttpURLConnection connection nul;Inputstream is null;BufferedReader br null;String result null;//返回结果字…...

Spark例子

Spark例子 以下是一个简单的AI Spark例子: 假设我们有一个数据集,包含房屋大小、卧室数量和售价。我们想使用Spark来预测房屋售价。 首先,我们需要导入所需的库和数据。在这个例子中,我们将使用Pyspark。 python from pyspark…...

linux下ls和df卡死

1. strace看下卡在哪里 https://lokie.wang/article/43 strace ls strace df -h 2. 原因 https://segmentfault.com/a/1190000040620740 3. fuser 和 umount都不行,最后只能重启 重启机器还起不来了垃圾...

iOS(swiftui)——系统悬浮窗( 可在其他应用上显示,可实时更新内容)

因为ios系统对权限的限制是比较严格的,ios系统本身是不支持全局悬浮窗(可在其他app上显示)。在iphone14及之后的iPhone机型中提供了一个叫 灵动岛的功能,可以在手机上方可以添加一个悬浮窗显示内容并实时更新,但这个功能有很多局限性 如:需要iPhone14及之后的机型且系统…...

css弹窗动画效果,示例弹窗从底部弹出

从底部弹出来,有过渡动画效果 用max-height可以自适应内容的高度,当内容会超过最大高度时可以在弹窗里加个scroll-view 弹窗不能用v-if来隐藏,不然transition没效果,transition只能对已有dom元素起效果,所以用透明和v…...

STM32CubeIDE(CUBE-MX hal库)----RTC时钟,时钟实时显示

系列文章目录 STM32CubeIDE(CUBE-MX hal库)----初尝点亮小灯 STM32CubeIDE(CUBE-MX hal库)----按键控制 STM32CubeIDE(CUBE-MX hal库)----串口通信 STM32CubeIDE(CUBE-MX hal库)----定时器 STM32CubeIDE(CUBE-MX hal库)----蓝牙模块HC-05(详细配置) 前言…...

ubuntu 安装Nvidia驱动

官网下载 sudo bash NVIDIA。。。。。跟着b站机器人工匠阿杰即可。...

『亚马逊云科技产品测评』活动征文|基于亚马逊云EC2搭建PG开源数据库

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道 亚马逊EC2云服务器(Elastic Compute Cloud)是亚马…...

【开题报告】基于J2EE的高校水电费管理系统的设计与实现

1.选题背景 随着高校规模的扩大和信息化建设的深入,学生宿舍的水电费管理成为一项复杂而重要的任务。传统的水电费管理方式通常依赖于人工操作,存在着管理效率低下、数据处理繁琐、费用统计不准确等问题。因此,设计和实现一款基于J2EE的高校…...

Revisiting Proposal-based Object Detection阅读笔记

Revisiting Proposal-based Object Detection阅读笔记 论文地址:link Abstract For any object detector, the obtained box proposals or queries need to be classified and regressed towards ground truth boxes. 对于任何物体检测器来说,获得的…...

Docker部署NFS服务

创建基础镜像 mkdir /data/nfs -p chmod 755 /data/nfs# NFS默认端口: 111、2049、20048 docker run -d \ --privileged \ --name nfs_server \ -p 111:111/tcp \ -p 111:111/udp \ -p 2049:2049/tcp \ -p 2049:2049/udp \ -p 30001-30005:30001-30005/tcp \ -p 30001-30005:3…...

深度学习TensorFlow2基础知识学习后半部分

介绍几个重要操作: 1.范数 a tf.fill([1,2], value2.) b tf.norm(a)# 二范数#第二种计算方法 # 计算验证 a tf.square(a) log("a的平方:", a) a tf.reduce_sum(a) log("a平方后的和:", a) b tf.sqrt(a) log("a平方和后开根号:"…...

电脑系统重装Win10专业版操作教程

用户想给自己的电脑重新安装上Win10专业版系统,但不知道具体的重装步骤。接下来小编将详细介绍Win10系统重新安装的步骤方法,帮助更多的用户完成Win10专业版的重装,重装后用户即可体验到Win10专业版系统带来的丰富功能。 准备工作 1. 一台正常…...

打包Python项目

打包Python项目 本教程将指导您如何打包一个简单的Python项目。它将 向您展示如何添加必要的文件和结构来创建包,如何 构建包,以及如何将其上传到Python包索引(PyPI)。 尖端 如果您在运行本教程中的命令时遇到问题,请…...

使用Python实现爬虫IP负载均衡和高可用集群

做大型爬虫项目经常遇到请求频率过高的问题,这里需要说的是使用爬虫IP可以提高抓取效率,那么我们通过什么方法才能实现爬虫IP负载均衡和高可用集群,并且能快速的部署并且完成爬虫项目。 通常在Python中实现爬虫ip负载均衡和高可用集群需要一…...

Jenkins+Maven+Gitlab+Tomcat 自动化构建打包,部署

环境准备 1、安装服务 Jenkins工具、环境、插件配置 全局变量配置 Manage Jenkins>tools>JDK 安装 安装插件 Deploy to container 安装此插件,才能将打好的包部署到tomcat上 配置国内mvn源 创建maven项目 1 2 3 4 5 6 7 8 9 10...

泰凌微(Telink)8258配置串口收发自定义数据

在官网下载SDK后(以Mesh SDK为例)使用Eclipse打开,对应MCU的配置文件在app_config_8258.h,默认的HCI接口是HCI_USE_NONE,如果改成HCI_USE_UART后可以通过串口收发数据,此时默认接收函数处理的是以Telink的协…...

入门低代码开发:快速构建应用程序的方法

一、什么是低代码 低代码开发是一种通过可视化建模和拖拽式设计工具来快速构建应用程序的方法。传统软件开发通常需要编写大量的代码,而低代码开发则提供了更高层次的抽象,使开发过程更加简单和高效。通过可视化界面,用户可以通过拖拽组件、配…...

常见客户端消息推送服务【Java后端】

客户端消息推送 1、推送服务 苹果 APNs(Apple Push Notification service) 谷歌 FCM(Firebase Cloud Messaging)GCM(Google Cloud Messaging) 第三方 个推(Getui)UniApp&#xff…...

C++11(下)

可变参数模板 C11的新特性可变参数模板能够创建可以接受可变参数的函数模板和类模板. 相比C98/03, 类模版和函数模版中只能含固定数量的模版参数, 可变模版参数无疑是一个巨大的改进, 然而由于可变模版参数比较抽象, 使用起来需要一定的技巧, 所以这块还是比较晦涩的.掌握一些基…...

深度学习与逻辑回归模型的融合--TensorFlow多元分类的高级应用

手写数字识别 文章目录 手写数字识别1、线性回归VS逻辑回归Sigmoid函数 2、逻辑回归的基本模型-神经网络模型3、多元分类基本模型4、TensorFlow实战解决手写数字识别问题准备数据集数据集划分 特征数据归一化归一化方法归一化场景 标签数据独热编码One-Hot编码构建模型损失函数…...

水库大坝安全监测参数与设备

智慧水利中,水库大坝的安全监测必不可少。做好水库大坝的安全监测,是确保水库大坝结构安全和预防灾害的重要手段。对于预防灾害、保护人民生命财产安全、优化工程管理、改进工程设计、保护环境资源和提高公众信任等方面有着重要的意义。 水利水库大坝安全…...

要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 22 章:情感分析提示

要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 22 章:情感分析提示 情感分析是一种可以让模型确定一段文字的情感基调或态度的技术,比如它是正面的、负面的还是中性的。 要在 ChatGPT 中使用情感分析提示,应向模型提…...

数据清洗、特征工程和数据可视化、数据挖掘与建模的主要内容

1.4 数据清洗、特征工程和数据可视化、数据挖掘与建模的内容 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解1.4节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。内容涵盖数据科学…...

C++ STL容器与常用库函数

STL是提高C编写效率的一个利器 STL容器&#xff1a; 一、#include <vector> 英文翻译&#xff1a;vector &#xff1a;向量 vector是变长数组(动态变化)&#xff0c;支持随机访问&#xff0c;不支持在任意位置O(1)插入。为了保证效率&#xff0c;元素的增删一般应该在末尾…...

Nmap脚本简介

什么是Nmap脚本 Nmap脚本是一种由Nmap扫描器使用的脚本语言&#xff0c;用于扫描目标网络中的主机、端口、服务等信息&#xff0c;并提供一系列自动化的测试和攻击功能。从渗透测试工程师的角度来看&#xff0c;Nmap脚本是一种非常有用的工具&#xff0c;能够帮助渗透测试工程师…...

Kafka -- 初识

目录 kafka是什么 Topic Partition Broker Cousumer CousumerGroup Offset reblance broker 消息存储 Isr kafka是什么 Kafka 是一个分布式的消息引擎&#xff0c;能够发布和订阅消息流&#xff08;类似于消息队列&#xff09; 以容错的、持久的方式存储消息流 多分区…...

玩转Sass:掌握数据类型!

当我们在进行前端开发的时候&#xff0c;有时候需要使用一些不同的数据类型来处理样式&#xff0c;Sass 提供的这些数据类型可以帮助我们更高效地进行样式开发&#xff0c;本篇文章将为您详细介绍 Sass 中的数据类型。 布尔类型 在 Sass 中&#xff0c;布尔数据类型可以表示逻…...

Django + Matplotlib:实现数据分析显示与下载为PDF或SVG

写作背景 首先&#xff0c;数据分析在当前的信息时代中扮演着重要的角色。随着数据量的增加和复杂性的提高&#xff0c;人们对于数据分析的需求也越来越高。 其次&#xff0c;笔者也确确实实曾经接到过一个这样的开发需求&#xff0c;甲方是一个医疗方面的科研团队&#xff0…...

【Rust】第一节:安装

1 说明 一些学习记录 环境&#xff1a;MacOS 2 步骤 1、执行curl --proto https --tlsv1.2 https://sh.rustup.rs -sSf | sh 2、看到打印 info: downloading installerWelcome to Rust!... ...This path will then be added to your PATH environment variable by modifyin…...

12-07 周四 Pytorch 使用Visdom 进行可视化

简介 在完成了龙良曲的Pytroch视频课程之后&#xff0c;楼主对于pytroch有了进一步的理解&#xff0c;比如&#xff0c;比之前更加深刻的了解了BP神经网络的反向传播算法&#xff0c;梯度、损失、优化器这些名词更加熟悉。这个博客简要介绍一下在使用Pytorch进行数据可视化的一…...

基于微信小程序的智慧校园导航系统研究

点我下载完整版 基于微信小程序的智慧校园导航系统研究 Research on Smart Campus Navigation System based on WeChat mini program 目录 目录 2 摘要 3 关键词 4 第一章 研究背景与意义 4 1.1 校园导航系统研究的背景 4 1.2 微信小程序在校园导航系统中的应用 5 1.3 研究的目…...

VUE3给table的head添加popover筛选、时间去除时分秒、字符串替换某字符

1. VUE3给table的head添加popover筛选 <el-tableref"processTableRef"class"process-table"row-key"secuId":data"pagingData"style"width: 100%"highlight-current-row:height"stockListHeight":default-exp…...

19、XSS——HTTP协议安全

文章目录 一、Weak Session IDs(弱会话IDs)二、HTTP协议存在的安全问题三、HTTPS协议3.1 HTTP和HTTPS的区别3.2 SSL协议组成 一、Weak Session IDs(弱会话IDs) 当用户登录后&#xff0c;在服务器就会创建一个会话&#xff08;Session&#xff09;&#xff0c;叫做会话控制&…...

深圳锐杰金融:用金融力量守护社区健康

深圳市锐杰金融投资有限公司&#xff0c;作为中国经济特区的中流砥柱&#xff0c;近年来以其杰出的金融成绩和坚定的社会责任立场引人注目。然而&#xff0c;这并非一个寻常的金融机构。锐杰金融正在用自己的方式诠释企业责任和慈善精神&#xff0c;通过一系列独特的慈善项目&a…...

python对py文件加密

参考文献&#xff1a; 【编程技巧】py文件批量编译&#xff0c;py批量转pyd&#xff0c;PyCharm设置py转pyd功能_py文件编译pyd-CSDN博客 【Python小技巧】加密又提速&#xff0c;把.py文件编译为.pyd文件&#xff08;类似dll函数库&#xff09;&#xff0c;你值得拥有&#x…...

Thymeleaf生成pdf表格合并单元格描边不显示

生成pdf后左侧第一列的右描边不显示&#xff0c;但是html显示正常 显示异常时描边的写法 cellpadding“0” cellspacing“0” &#xff0c;td,th描边 .self-table{border:1px solid #000;border-collapse: collapse;width:100%}.self-table th{font-size:12px;border:1px sol…...

C# Solidworks二次开发:三种获取SW设计结构树的方法-第二讲

今天这篇文章是接上一篇文章的&#xff0c;主要讲述的是获取SW设计结构树节点的第二种方法。 这个方法获取节点的逻辑是先获取最顶层节点&#xff0c;然后再通过获取顶层节点的子节点一层一层的把所有节点都找出来&#xff0c;也就是需要递归。想要用这个方法就要了解下面几个…...

分布式搜索引擎03

1.数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎? 这些手机的平均价格、最高价格、最低价格? 这些手机每月的销售情况如何? 实现这些统计功能的比数据库的sql要方便的多,而且查询速度非常快,可以实现近…...

flex布局的flex为1到底是什么

参考博客&#xff1a;flex:1什么意思_公孙元二的博客-CSDN博客 flex&#xff1a;1即为flex-grow&#xff1a;1&#xff0c;经常用作自适应布局&#xff0c;将父容器的display&#xff1a;flex&#xff0c;侧边栏大小固定后&#xff0c;将内容区flex&#xff1a;1&#xff0c;内…...

class050 双指针技巧与相关题目【算法】

class050 双指针技巧与相关题目【算法】 算法讲解050【必备】双指针技巧与相关题目 code1 922. 按奇偶排序数组 II // 按奇偶排序数组II // 给定一个非负整数数组 nums。nums 中一半整数是奇数 &#xff0c;一半整数是偶数 // 对数组进行排序&#xff0c;以便当 nums[i] 为…...

计算机操作系统4

1.什么是进程同步 2.什么是进程互斥 3.进程互斥的实现方法(软件) 4.进程互斥的实现方法(硬件) 5.遵循原则 6.总结&#xff1a; 线程是一个基本的cpu执行单元&#xff0c;也是程序执行流的最小单位。 调度算法&#xff1a;先来先服务FCFS、短作业优先、高响应比优先、时间片…...

【ASP.NET CORE】EntityFrameworkCore 数据迁移

如果数据库中已经有数据结构&#xff0c;可以使用Scaffold-DbContext来同步model&#xff0c;-connection是字符串&#xff0c;-outputdir 是输入文件夹名称&#xff0c;举例的脚本使用的是sqlserver数据库 通用 Scaffold-DbContext -Connection "DatabaseAddress;Data …...

说说React jsx转换成真实DOM的过程?

在React中&#xff0c;JSX&#xff08;JavaScript XML&#xff09;是一种语法糖&#xff0c;用于描述用户界面的结构和组件关系。当你编写React组件并包含JS JSX解析&#xff1a;React中的JSX代码首先会被解析成JavaScript对象。这个过程通常是通过Babel等工具进行的&#xff0…...

MongoDB知识总结

这里写自定义目录标题 MongoDB基本介绍MongoDB基本操作数据库相关集合相关增删改查 MongoDB基本介绍 简单介绍 MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产…...