Langchain学习
Langchain学习
LangChain是一个框架,用于开发由大型语言模型(LLM)驱动的应用程序。
LangChain 简化了 LLM 应用程序生命周期的每个阶段:
开发:使用LangChain的开源构建块和组件构建应用程序。使用第三方集成和模板开始运行。
生产化:使用 LangSmith 检查、监控和评估您的链条,以便您可以自信地持续优化和部署。
部署:使用 LangServe 将任何链转换为 API。
LLM 支持的最强大的应用程序之一是复杂的问答 (Q&A) 聊天机器人。这些应用程序可以回答有关特定源信息的问题。这些应用程序使用一种称为检索增强生成 (RAG) 的技术。
什么是RAG?RAG 是一种使用额外数据增强 LLM 知识的技术。
LLM 可以对广泛的主题进行推理,但他们的知识仅限于他们接受培训的特定时间点之前的公共数据。如果要构建可以推理私有数据或模型截止日期后引入的数据的 AI 应用程序,则需要使用模型所需的特定信息来增强模型的知识。引入适当信息并将其插入模型提示符的过程称为检索增强生成 (RAG)。
LangChain有许多组件,旨在帮助构建Q& ...
向量数据库
向量数据库学习什么是向量数据库向量嵌入是从机器学习模型派生的数值表示,封装了非结构化数据的语义含义。这些嵌入是通过神经网络或转换器架构分析数据中的复杂相关性而生成的,从而创建一个密集的向量空间,其中每个点都对应于数据对象的“含义”,例如文档中的单词。
这个过程将文本或其他非结构化数据转换为反映语义相似性的向量——具有相关含义的单词在这个多维空间中的位置更近,从而促进了一种称为“密集向量搜索”的搜索。这与传统的关键字搜索形成鲜明对比,后者依赖于精确匹配并使用稀疏向量。向量嵌入的发展,通常源于主要科技公司广泛训练的基础模型,允许更细致的搜索,捕捉数据的本质,超越词汇或稀疏向量搜索方法的限制。
矢量嵌入可用于各种应用,以各种方式提高效率和准确性。以下是一些最常见的用例:
查找相似的图像、视频或音频文件矢量嵌入支持通过卷积神经网络 (CNN) 分析图像、视频帧或音频片段,按内容而不仅仅是关键字搜索相似的多媒体内容。这允许进行高级搜索,例如通过比较存储在矢量数据库中的嵌入式表示,根据声音提示或通过图像查询查找视频。
通过语义搜索提高搜索相关性通过将内部文档嵌入到向量中,组织可以利用语义搜索 ...
Kafka学习
Kafka学习
一、Kafka 简介Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司 作为多种类型的数据管道和消息系统使用。
Kafka 是一种分布式的,基于发布 / 订阅的消息系统。主要设计目标如下:
以时间复杂度为 O(1) 的方式提供消息持久化能力,即使对 TB 级以上数据也能保证常数时间复杂度的访问性能。
高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒 100K 条以上消息的传输。
支持 Kafka Server 间的消息分区,及分布式消费,同时保证每个 Partition 内的消息顺序传输。
同时支持离线数据处理和实时数据处理。
Scale out:支持在线水平扩展。
假如你是一个程序员,假设你维护了两个服务 A 和 B。B 服务每秒只能处理 100 个消息,但 A 服务却每秒发出 200 个消息,B 服务哪里顶得住,分分钟被压垮。那么问题就来了,有没有办法让 B 在不被压垮的同时,还能处理掉 A 的消息 ...
pandas学习
pandas学习笔记Seriesserirs的创建12345678910111213import pandas as pdpd.Series(np)传入一个可迭代对象可以指定index作为键值#可以传入字典来创建 Series>>> d = {'a': 1, 'b': 2, 'c': 3}>>> ser = pd.Series(data=d, index=['a', 'b', 'c'])>>> sera 1b 2c 3dtype: int64
切片和索引与字典一样 Series可以通过index来查找对应的值
12345678d = {'name': "xiaoming", 'age': 18, 'tel': 1008010}t3 = pd.Series(d)print(t3[ ...
matplotlib学习
matplotlib重新学习基本要点设置图片大小12345678910import matplotlib.pyplot as pltfig = plt.figure(figsize=(20,8),dpi=80) -->figure图形图标的意思,在这里指的就是我们画的图 -->通过实例化一个fgure并且传递参数,能够在后台自动使用该fgure实例 --->在图像模糊的时候可以传入dpi参数,让图片更加清晰x = range(2,26,2)y = [15 ,13, 14.5,17,20, 25 , 26,26 ,24,22, 18 ,15]plt.plot(x,y)plt.savefig("./sig_size.png")->保存图片 --->可以保存为svg这种矢量图格式,放大不会有锯齿
调整X或者Y轴上的刻度123456789import matplotlib.pyplot as pltfig = plt.figure(figsize=(10,5))x = range(2,26,2)y = [15 , 13 , 14 ,5 , ...
uWSGI学习
uWSGI学习什么是uwsgiuWSGI是一个Python Web服务器,它实现了WSGI协议、uwsgi、http等协议,常在部署Django或Flask开发的Python Web项目时使用,作为连接Nginx与应用程序之间的桥梁。
为什么需要uWSGI?在生产环境中部署Python Web项目时,uWSGI负责处理Nginx转发的动态请求,并与我们的Python应用程序沟通,同时将应用程序返回的响应数据传递给Nginx。
这个时候你要问了,Nginx本身就是Web服务器,我们为什么还需要uWSGI这个Web服务器呢? Django不是自带runserver服务器?Flask不是自带Werkzeug吗? 答案是Nginx处理静态文件非常优秀,却不能直接与我们的Python Web应用程序进行交互。Django和Flask本身是Web框架,并不是Web服务器,它们自带的runserver和Werkzeug也仅仅用于开发测试环境,生产环境中处理并发的能力太弱。
django用原生django的server做处理的表现是最烂的,在10000次请求的情况下brokenpipe的几率极高,只有 ...
Jupyter_Notebook使用技巧
前言为了更加方便快捷的使用Jupyter Notebook,本文将会介绍一些相关的使用技巧。
相关技巧使用问号查看对象的相关信息对于代码中的所有对象,包括:变量、函数、方法、模块、等等,可以在某个对象的前面或后面添加一个?,以查看该对象的相关信息。
12def aaa(): print('Hello World')
1?aaa
效果如下图:
对于我们自定义的函数,可以在函数名的前面或后面添加两个?,这样,在显示出来的相关信息中会包含函数的源代码。
12def aaa(): print('Hello World')
1aaa??
效果如下图:
使用叹号执行Shell命令在使用Jupyter Notebook编写代码时,只需要在Shell命令前添加一个!,就可以在notebook中执行Shell命令,完全不用来回切换。
举例:查看当前本机网络状态:
1!ipconfig
效果如下图:
除了执行Shell命令之外,还可以将执行结果赋值给Python变量:
123a = !ipconfigprint(a)print(type(a))
关 ...
用于讲话者视听追踪,基于自监督学习的多模态感知注意力网络——论文阅读
1.摘要概念解释端到端模型:输入和输出之间没有中间步骤或阶段。端到端模型直接从原始输入数据映射到最终输出结果,没有人为设计的特征提取,中间表示或者预处理步骤。
异构信号:在某一信号环境中具有不同特性和属性的信号,这些信号可以是不同来源、不同类型,不同模态的信号,它们具有不同的物理特性,频谱特性,时域特性等。在图像处理或音频处理中,可能需要处理来自不同来源或不同类型的信号,例如同时处理彩色图像的RGB通道,或者处理来自不同麦克风的音频信号。
多模态信息互补性:多模态研究是指研究不同类型的数据融合的问题。模型从多种信息源获取多种模态的数据(例如语音,文字,图片等)之间的互相补充和增强关系,从而提高整体信息的丰富程度,准确性,鲁棒性。
时空全局相关域:是一种用于分析时间序列数据的空间-时间全局相干场。用于描述数据中的空间和时间相关性的方法,常用于cv等领域。可理解为对时间序列数据进行空间域和时间域的联合分析,获得数据的时序结构以及时序变化规律。通过计算坐标系中各点的空间相干性和时间相干性,获得全局的时空相干性。在本文中涉及到对视频的分析,使用stGCF推测主要目的是通过分析不同时间点和空间位 ...
Torch学习
一 、数据操作1.基础操作为了能够完成各种数据操作,我们需要某种方法来存储和操作数据。 通常,我们需要做两件重要的事:(1)获取数据;(2)将数据读入计算机后对其进行处理。 如果没有某种方法来存储数据,那么获取数据是没有意义的。
首先,我们导入torch
1import torch
张量表示一个由数值组成的数组,这个数组可能有多个维度。 具有一个轴的张量对应数学上的向量(vector); 具有两个轴的张量对应数学上的矩阵(matrix); 具有两个轴以上的张量没有特殊的数学名称。
我们可以使用 arange 创建一个行向量 x。这个行向量包含以0开始的前12个整数,它们默认创建为整数。也可指定创建类型为浮点数。张量中的每个值都称为张量的 元素(element)。例如,张量 x 中有 12 个元素。除非额外指定,新的张量将存储在内存中,并采用基于CPU的计算。
123x = torch.arange(12)xtensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
可以通过shape属性访问张量
1x.shape
要想改变一个 ...
帮舍友做了点小工作,又是有成就感的一天
一、起因舍友谈了女朋友,女朋友好像是学医的。然后她们有一个非常扯淡的工作,作为班干部要把word给弄成excal
像这样(舍友手搓的):
而这玩意有足足900+道题,如果说手动写入那简直是苦难深重(而我的舍友因为爱情的力量还是坚持搞了大概五分之一,爱情太强大了,强大到能够冲昏头脑~~)
于是在一天下午舍友向我询问能不能自动转换,我想了想寒假学的数据处理和写数据库用的一些方法 拿正则套一下就行了 我说应该没问题来吧,然后就把这件事接了下来,之后他给我发了word文件我看了看,格式非常整洁很容易把正则套上去。那么 理论存在实践开始!
二、学习准备之前没有操作过docx文件,所以去查了一下如何去操作docx文件。需要下载一个叫python-docx的库那么
1pip install python-docx
然后导入库
1from docx import Document
这里我用pycharm 结果装了给docx的库 和python-docx 不是一个库请注意!
1doc = Document("D:\垃圾项目\儿科.docx")
Document(docx文件 ...