自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(113)
  • 收藏
  • 关注

原创 win10系统 python3.11.9 的 sentence_transformers安装报错解决

报错的解决可以直接看 ‘解决方法’ 这块。

2024-07-23 17:15:35 477

原创 【十大机器学习深入浅出】1. 线性回归 第一章:线性回归原理推导

十大机器学习笔记持续更新,欢迎免费订阅专栏和关注!

2024-06-20 18:34:12 1010

原创 十大机器学习算法深入浅出

本栏目涉及对于回归算法、聚类算法、决策树、随机森林、神经网络、贝叶斯算法、支持向量机等十大机器学习算法的笔记下面是笔记大纲,具体内容可查看**“十大机器学习算法深入浅出”**专栏,内容持续更新,欢迎订阅专栏和专注我!

2024-06-20 18:32:58 684

原创 (持续更新)ai 工程师(nlp)面试问题+答案

浅拷贝:copy()浅拷贝意味着创建一个新的对象,但是这个对象包含的元素仍然是原始对象中元素的引用。也就是说,如果原始对象中的元素是可变的(比如列表、字典等),那么在拷贝对象中修改这些元素会影响到原始对象。深拷贝:deepcopy()深拷贝会创建一个新的对象,并且递归地复制原始对象中的所有对象,因此新对象和原始对象是完全独立的。修改新对象中的元素不会影响原始对象。

2024-05-30 17:34:01 749

原创 RAG vs 意图识别:AI领域的新较量

总的来说,RAG是一种增强语言模型回答能力的框架,它通过检索和利用外部知识来生成回答;意图识别是对话理解的一部分,它帮助系统理解用户的意图并作出相应的反应。两者的选择应基于具体的应用需求、系统设计和预期的用户交互方式。两者在构建交互式AI系统中扮演着不同但互补的角色。RAG适合于需要结合大量。

2024-05-29 17:47:04 1776

原创 RAG技术详解:构建高效、可信赖的知识检索系统

幻觉:在没有答案的情况下提供虚假信息。过时:当用户需要特定的当前响应时,提供过时或通用的信息。来源:从非权威来源创建响应。由于术语混淆,不同的培训来源使用相同的术语来谈论不同的事情,因此会产生不准确的响应。RAG 是解决其中一些挑战的一种方法。它会重定向 LLM,从权威的、预先确定的知识来源中检索相关信息。组织可以更好地控制生成的文本输出,并且用户可以深入了解 LLM 如何生成响应。

2024-05-29 17:40:38 2219

原创 RAG中常用的索引(Index)方式

文本摘要提取:使用文本摘要技术从文档中提取关键句子或段落,形成摘要。关键词提取:识别文档中的关键词汇或短语,以代表文档的主要内容。元数据生成:可能包括文档的标题、作者、发布日期等信息,以及与文档内容相关的标签或分类。结构化存储:将摘要和元数据以结构化的形式存储在数据库中,如关系数据库或NoSQL数据库。快速检索:通过索引快速访问文档的摘要和关键信息,以评估文档的相关性或作为生成回答的参考。

2024-05-29 14:36:09 1311

原创 #LLM入门 | langchain | RAG # 4.7_聊天_Chat

"""该函数用于加载 PDF 文件,切分文档,生成文档的嵌入向量,创建向量数据库,定义检索器,并创建聊天机器人实例。参数:file (str): 要加载的 PDF 文件路径。chain_type (str): 链类型,用于指定聊天机器人的类型。k (int): 在检索过程中,返回最相似的 k 个结果。返回:qa (ConversationalRetrievalChain): 创建的聊天机器人实例。"""# 载入文档# 切分文档# 定义 Embeddings# 根据数据创建向量数据库。

2024-05-23 09:14:37 750

原创 #LLM入门 | langchain | RAG # 4.6_问答

Langchain 在实现与外部数据对话的功能时需要经历下面的5个阶段,它们分别是:Document Loading->Splitting->Storage->Retrieval->Output,如下图所示:图 4.6.1 访问个人数据全流程完成存储和获取相关文档后,需将文档传递给语言模型以生成答案。流程包括提出问题、检索文档、传递文档和问题给模型、获取答案。默认将所有文档切片传入同一上下文窗口,但存在MapReduce、Refine和MapRerank等方法解决上下文窗口限制问题。

2024-05-22 17:02:23 445

原创 # langchain # MMR解决检索冗余问题、实现多样性检索

是一个选择器,用于从一组候选示例中选择出与输入最相关且具有多样性的示例。它通过计算示例与输入之间的语义相似度,然后迭代地选择示例,同时对与已选择示例相似度过高的候选项施加惩罚。

2024-05-22 15:41:11 300

原创 #RAG | AIGC # RAG召回率提升的方法以及优劣势

RAG(Retrieval-Augmented Generation)是一种结合了检索(Retrieval)和生成(Generation)的模型,用于增强大型语言模型(LLMs)的性能。召回率(Recall)是衡量RAG系统性能的关键指标之一,它表示系统能够检索到的相关文档占所有相关文档的比例。:通过改进召回过程来提高从大规模语料库中检索与给定查询相关的文档的准确性和效率[:在召回过程中纳入查询和文档的上下文信息,可以更准确地判断文档与查询的相似度[

2024-05-22 15:06:37 2453

原创 #LLM入门 | langchain | RAG # 4.5_检索(Retrieval)

MMR 算法可以实现兼具相关性与多样性的检索结果,避免信息冗余。定义元数据字段可以进行针对性过滤,提升匹配准确率。SelfQueryRetriever 模块通过语言模型自动分析语句,提取查询字符串与过滤条件,无需手动设置,使检索更智能。ContextualCompressionRetriever 实现压缩检索,仅返回与问题相关的文档片段,可以大幅提升效率并节省计算资源。除向量检索外,还简要介绍了基于 SVM 和 TF-IDF 的检索方法。

2024-05-22 13:50:53 1997

原创 #LLM入门 | langchain | RAG # 4.4_向量数据库与词向量(Vectorstores_and_Embeddings)

回顾一下检索增强生成(RAG)的整体工作流程:图 4.4 检索增强生成整体流程前两节课我们讨论了 Document Loading(文档加载)和 Splitting(分割)。下面我们将使用前两节课的知识对文档进行加载分割。

2024-05-22 13:50:09 611

原创 #Docker | Ngrok# 使用Ngrok和Docker进行内网穿透

启动一个 Ngrok 容器,用来创建一个 HTTP 隧道,把本地的服务暴露在互联网上。这在开发和测试时非常有用,比如当你需要外部用户测试你的本地服务或者需要与远程客户端进行集成测试时。端口,你希望外部用户可以访问这个服务。通过运行上述命令,Ngrok 会提供一个类似于。的 URL,外部用户可以通过这个 URL 访问你的本地服务。假设你在本地运行了一个 Web 服务,该服务监听。

2024-05-14 14:19:55 1385 2

原创 #VDB# 生成用于MongoDB的objectid

非常简单,先pip第三方库。

2024-05-10 14:16:13 125

原创 #LLM入门 | langchain | RAG # 4.3_文档分割

上一章讨论了文档标准化加载,现在转向文档的细分,这虽简单却对后续工作有重大影响。

2024-05-07 16:55:53 868

原创 #LLM入门 | langchain | RAG # 4.2_文档加载

一旦文档被加载,它会被存储在名为pages的变量里。在第二部分,我们利用LangChain加载器从YouTube视频链接下载音频到本地,并用OpenAIWhisperPaser解析器将音频转换为文本。在page变量中,每一个元素都代表一个文档,它们的数据类型是langchain.schema.Document。首先,我们将构建一个 GenericLoader 实例来对 Youtube 视频的下载到本地并加载。接下来,我们将探讨如何加载网页链接,以GitHub上的Markdown文档为例进行学习。

2024-05-07 16:46:01 584

原创 #LLM入门 | langchain | RAG # 4.1 简介_使用 LangChain 访问个人数据

对于希望了解LangChain基础知识的读者,推荐学习《LangChain for LLM Application Development》部分。

2024-05-07 16:45:25 309

原创 # 设计模式 #5.6 Memento备忘录,行为型模式

备忘录模式是一种行为型设计模式,它允许在不破坏对象封装性的情况下捕获对象的内部状态,并将该状态外部化存储,以便在需要时可以恢复到原先的状态。此模式常用于实现撤销操作和历史记录功能。

2024-04-22 11:33:31 311

原创 【方便 | 重要】#LLM入门 | Agent | langchain | RAG # 3.7_代理Agent,使用langchain自带agent完成任务

在本节,我们将创建和使用自定义时间工具。LangChian tool 函数装饰器可以应用用于任何函数,将函数转化为LangChain 工具,使其成为代理可调用的工具。我们需要给函数加上非常详细的文档字符串, 使得代理知道在什么情况下、如何使用该函数/工具。比如下面的函数time,我们加上了详细的文档字符串。# 导入tool函数装饰器@tool"""返回今天的日期,用于任何需要知道今天日期的问题。输入应该总是一个空字符串,\这个函数将总是返回今天的日期,任何日期计算应该在这个函数之外进行。"""

2024-04-19 11:16:55 1244

原创 #vscode | poetry # 使用Poetry进行项目依赖自动化管理,比pip更省事!

安装验证安装是否成功。

2024-04-19 10:20:16 1151

原创 #LLM入门|AI测试# 3.6_创建测试集,人工/LLM评估

评估是确保语言模型(LLM)问答系统质量的重要步骤,它有助于检测模型在不同文档上的表现,发现不足之处,并通过比较不同模型选择最优方案。定期评估还能监测模型性能是否下降。评估目的包括。基本策略是使用LLM和链来评估其他LLM、链和应用。本章以文档问答应用为例,探讨LangChain中评估的处理和考量。首先,按照 langchain 链的方式构建一个 LLM 的文档问答应用上述代码的主要功能及作用在上一章节中都已说明,这里不再赘述。

2024-04-19 08:45:00 1136

原创 #LLM入门|RAG#3.5_基于文档的问答

大语言模型(LLM)构建的问答系统,通过整合用户文档,提供个性化和专业化回答。系统可检索内部文档或产品说明书,结合语言模型生成精准答案。这种方法让语言模型利用外部文档专业信息,显著提升回答的质量和适用性,使模型服务更具体化,超越通用知识。构建问答系统时,LangChain的嵌入模型和向量存储等组件关键,帮助系统理解文档信息。本章将学习这些组件,以深入理解问答系统。向量储存查询。

2024-04-18 19:19:19 1128

原创 #LLM入门|RAG#3.4_模型链

定义适用于不同场景的提示模板。# 中文#第一个提示适合回答物理问题physics_template = """你是一个非常聪明的物理专家。你擅长用一种简洁并且易于理解的方式去回答问题。当你不知道问题的答案时,你承认\你不知道.这是一个问题:{input}"""#第二个提示适合回答数学问题math_template = """你是一个非常优秀的数学家。你擅长回答数学问题。你之所以如此优秀, \是因为你能够将棘手的问题分解为组成部分,\回答组成部分,然后将它们组合在一起,回答更广泛的问题。

2024-04-18 19:13:08 1007

原创 #langchain | RAG |富文本一致性解析 | NLP # langchain支持的9种PDF内容提取方式

【代码】#langchain | RAG |富文本一致性解析 | NLP # langchain支持的9种PDF内容提取方式。

2024-04-17 10:22:48 1005

原创 # RAG | Langchain # Langchain RAG:打造Markdown文件的结构化分割解决方案

【文章简介】在信息技术快速发展的今天,有效处理和分析文本数据变得尤为重要。Markdown文件因其简洁性和可读性,在知识共享和文档编写中扮演着关键角色。然而,传统的文本分割方法未能充分利用Markdown的结构化特性,导致信息提取和知识理解的效率受限。本文提出一种基于Langchain的结构化分割方法,通过MarkdownHeaderTextSplitter工具,按标题层级精确分割文档,保留关键的结构和上下文信息,特别适合报告和教程等结构化文档。

2024-04-15 17:37:56 8790 3

原创 # docker #docker运行全流程!必看 ! docker image镜像生成、docker运行、重启、docker-compose外挂文件、

必须保证原始启动端口(server启动端口或者通过环境变量设置的端口)、dockerfile expose的端口、docker-compose.yml被映射的端口(如果不需要使用docker-compose.yml、请忽略)三口一致。

2024-04-15 15:31:19 1038

原创 #LangChain | RAG | LLM#LangChain LCEL_使用pipe链接runnables,获取LLM 推理结果

Runnable接口的一个关键优点是,任何两个可运行对象都可以“链接”在一起,形成序列。前一个可运行对象.invoke()调用的输出将作为输入传递给下一个可运行对象。这可以使用管道运算符 () 或更显式.pipe()的方法来完成,该方法执行相同的操作。生成的结果是 RunnableSequence 可运行的,这意味着它可以像任何其他可运行对象一样被调用、流式传输或管道传输。

2024-04-07 14:15:58 604 2

原创 #LangChain | RAG | LLM#LangChain LCEL_基本示例:提示 + 模型 + 输出解析器

LCEL 可以轻松地从基本组件构建复杂的链,并支持开箱即用的功能,例如流式处理、并行性和日志记录。

2024-04-07 11:19:03 923

原创 #设计模式#3.1用做松鼠桂鱼来理解抽象工厂(对象创建型模式)

让我们将“松鼠桂鱼”的例子与抽象工厂模式的原始定义和组件联系起来,以便更好地理解这个设计模式的各个部分。: 这是一个接口或抽象类,定义了产品必须实现的公共接口。在我们的“松鼠桂鱼”例子中,Dish类可以被视为一个抽象产品,它定义了菜品应该具备的基本属性和方法,如preparecook和serve。: 这是实现了抽象产品接口的具体类。在我们的示例中,类是一个具体产品,它继承自Dish并提供了这些方法的具体实现。: 这是一个接口,它定义了一组用于创建抽象产品的方法。在我们的示例中,

2024-03-29 17:39:13 991

原创 #设计模式#4.6 Flyweight(享元) 对象结构型模式

享元模式是一种结构型设计模式,其主要目标是通过共享大量细粒度的对象来节省内存。享元模式的关键在于区分内部状态(Intrinsic State)和外部状态(Extrinsic State)。方法用于获取一个享元,如果享元不存在,那么它会创建一个新的享元并存储在。,它是一个字典,用于存储享元。

2024-03-29 10:35:36 534

原创 #设计模式#3.1 抽象工厂

的单独的工厂封装起来。在抽象工厂模式中,抽象工厂定义了产品的创建接口,但是由子类决定实例化哪一个产品类。模块来创建抽象基类和抽象方法。是一种创建型设计模式,它提供了一种方式,可以将一组具有。的子类,它们实现了这两个抽象方法,返回具体的产品实例。在Python中,你可以使用。就是一个抽象工厂,它定义了。是一个抽象基类,它定义了。,并在这些子类中实现。

2024-03-29 10:30:25 686

原创 从根本上优雅地解决 VSCode 中的 Python 模块导入问题

本文介绍了如何在 Visual Studio Code (VSCode) 中解决 Python 模块导入问题。当在 VSCode 中运行测试脚本 test_deal_file.py 时,遇到了 ModuleNotFoundError 错误,因为 controllers 包未被识别。通过在 VSCode 的工作区设置中配置环境变量 PYTHONPATH,并将项目路径添加到 Python 的模块搜索路径中,我们能够成功解决这个问题。文章提供了详细的步骤,包括如何修改 settings.json 文件,重启虚拟环

2024-03-27 15:21:16 19958 11

原创 Python包内模块导入:相对导入与绝对导入的实践指南

当前目录:首先在当前工作目录下搜索指定的模块。PYTHONPATH环境变量:接着在环境变量PYTHONPATH中指定的路径列表中搜索。这些路径是除了标准库之外的额外搜索目录。标准库路径:最后在Python安装路径下的lib目录中搜索。

2024-03-26 10:07:52 2153

原创 #GIT|Git Flow#Gitflow工作流程

Gitflow是一种使用功能分支和多个主分支的Git分支模型,它适用于有预定发布周期的项目,也适用于DevOps最佳实践中的持续交付。这个工作流程不会添加任何新的概念或命令,而是为不同的分支分配了非常具体的角色,并定义了它们应该如何以及何时进行交互。这个工作流程非常适合基于版本的软件开发,并且为生产hotfix提供了专用渠道。如果您想了解更多关于Git工作流程的信息,可以访问Atlassian的。

2024-03-25 11:26:31 408

原创 #GIT PULL/MERGE#我目的是保存本地的内容,同时把远程的同步过来,最后手动解决冲突,应该选择哪个策略?

我目的是保存本地的内容,同时把远程的同步过来,最后手动解决冲突,应该选择哪个策略?根据你的目的,即保存本地内容、同步远程更新,并手动解决冲突,你应该选择**合并(Merge)**策略。合并策略允许你将远程分支的更改整合到你的本地分支中,同时保留你的本地更改。在合并过程中,如果出现冲突,Git 会提示你手动解决这些冲突。

2024-03-21 11:32:26 608

原创 #CS基本技能#生成 SSH 密钥(windows+liunx)

现在您已经成功地生成了 SSH 密钥对。另外,如果您想要让 SSH 代理管理您的密钥,您还需要在本地配置 SSH 代理。您可以选择保留默认名称,因为它已经被 SSH 所识别(id_rsa);3.输入您要保存密钥文件的路径和名称,或者直接敲击回车键选择默认值,例如:/home/YourName/.ssh/id_rsa;5.这个时候,您会得到一个公共密钥(id_rsa.pub)和一个私有密钥(id_rsa)。5.这个时候,您会得到一个公共密钥(id_rsa.pub)和一个私有密钥(id_rsa)。

2024-03-20 17:25:00 375

原创 Azure OpenAI API配置(embedding为例)

【代码】Azure OpenAI API配置(embedding为例)

2024-03-20 11:09:43 476

原创 # VDB | Milvus #milvus 基本操作

向量索引是元数据的组织单位,用于加速向量相似性搜索。如果没有基于向量构建的索引,Milvus 将默认执行暴力搜索。默认情况下,Milvus 不会对少于 1,024 行的 segment 进行索引。要更改此参数,请在 中。Milvus 中的所有搜索和查询操作都在内存中执行。在执行向量相似性搜索之前,将集合加载到内存中。当前版本的 Milvus 仅支持向量场索引。未来的版本将支持标量字段上的索引。通过指定向量字段名称和索引参数来构建索引。,您可以选择决定将数据插入到哪个分区。用于衡量向量相似性的指标类型。

2024-03-19 16:35:46 586

原创 #Langchain | RAG | LLM #多条链并行处理获取summarize-分支与合并、映射与规约

Map-Reduce方法是一种处理和总结大量文档的复杂方法。它利用语言模型(LLM)的力量,通过将任务分解为更小、更易管理的部分,然后再将结果合并以形成最终的、综合的摘要。

2024-03-18 16:32:56 858

World Employment and Social Outlook Trends 2023

国际劳工组织刚刚发布的旗舰报告《世界就业和社会展望:2024年趋势》指出,虽然全球经济环境日益恶化,但劳动力市场呈现出惊人的韧性;然而,疫情后的复苏依旧是不平衡的,新的脆弱性因素和多重危机对实现更广泛的社会正义产生不利影响。

2024-01-12

2023 中国开源开发者报告

目录 一、开源开发者事件回顾 AIGC 1024 黄金眼 项目停更 生产事故 开源治理 硬核发版 热门话题 重官宣 R.I.P. 二、2023 LLM 技术报告 向量数据库 数据库向量支持 大模型框架、微调大模型训练平台与工具编程语言 知名大模型 备案上线的中国大模型 插件、IDE、终端代码生成工具LLM AgentLLMOps大模型聚合平台开发工具力 三、中国开发者开源新动向

2024-01-09

计算机数学模型(博客精选)

目 录 前言 遗传算法(GA)的C语言实现 模拟退火算法分析 分支限界(Branch and Bound )算法 龙格-库塔(Runge-Kutta)方法数学原理及实现 层次分析法(Analytic Hierarchy Process) 一般线性最小二乘法 无约束最优化方法 数理统计 数理统计中的点估计 数理统计中的区间估计 单纯形法 -- 求解线性规划 数值积分方法 神经网络学习 之 M-P模型 神经网络学习 之 BP神经网络 决策树学习 之 概念与构造算法 现代优化算法 之 模拟退火 现代优化算法 之 遗传算法 现代优化算法 之 禁忌搜索算法

2024-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除