自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何手搓一个RAG

由于单个文档的长度往往会超过模型支持的上下文,导致检索得到的知识太长超出模型的处理能力,因此,在构建向量知识库的过程中,我们往往需要对文档进行分割,将单个文档按长度或者按固定的规则分割成若干个 chunk,然后将每个 chunk 转化为词向量,存储到向量数据库中。在几何上,这个值表示两个向量在向量空间中的夹角的余弦值。在检索时,我们会以 chunk 作为检索的元单位,也就是每一次检索到 k 个 chunk 作为模型可以参考来回答用户问题的知识,这个 k 是我们可以自由设定hain 中文本分割器都根据。

2024-05-20 21:17:09 774

原创 小白学大模型——Qwen2

Qwen2大模型牵扯很多模块,例如旋转位置编码MQAGQA(group query attention)注意力机制的不同,层归一化的方式,MLP具体的原理等等。作为新手真的看的头都大了。这里就不摆弄自己的微薄知识,推荐两位大佬写的博客,他们对于大模型的结构有着更深入的理解,也将Qwen2大模型的实现细节与其他模型进行了比较。我觉得非常好。Tiny-universe学习笔记1:Qwen-blog-CSDN博客手搭一个大模型-part1-Qwen模型的介绍-CSDN博客。

2024-05-16 23:02:20 1804

原创 构建RAG应用

4.查询到一部分的优化方向为调整文档的分割方式,如何精确的分割文本直接能够影响到大模型回答RAG的结果。4.针对向量数据库检索的返回结果,大模型如何设计方法或者prompt对结果进行进一步的优化,得到更加准确的回复?模型记忆上下文的原理可以看自问自答部分的原理图,本质是将过去的对话以及当前的问题融入一个prompt中。3.大模型能够接受的token都有数量上的限制,RAG的memory储存对话机制是如何处理这个问题的?执行的,所以只会增加搜索结果的Token数量。中遇到的问题,在部署时需要注意。

2024-04-24 23:22:26 440

原创 llm构建知识库

在机器学习和自然语言处理(NLP)中,词向量(Embeddings)是一种将非结构化数据,如单词、句子或者整个文档,转化为实数向量的技术。这些实数向量可以被计算机更好地理解和处理。嵌入背后的主要想法是,相似或相关的对象在嵌入空间中的距离应该很近。让我们以“king”、“queen”和“man”为例来说明词向量的应用。假设我们使用Word2Vec模型训练了一组词向量,我们可以通过简单地对这些向量进行数学运算来表达一些语义关系。

2024-04-20 20:46:14 1658

原创 大模型prompt engineering api开发

分隔符就像是 Prompt 中的墙,将不同的指令、上下文、输入隔开,避免意外的混淆。你可以选择用 ```,“”",< >, ,: 等做分隔符,只要能明确起到隔断作用即可。好的提示词工程才能最大限度的发挥llm大脑的作用,高质量的提问往往才联系着高质量的回答,所以我们应该学习如何更好的写出提示词。“Few-shot” prompting(少样本提示),即在要求模型执行实际任务之前,给模型提供一两个参考样例,让模型了解我们的要求和期望的输出样式。2.了解llm开发的全部流程,独立开发个人的小助手。

2024-04-17 20:39:39 735

原创 LeetCode 面试打卡 4: 动态规划 - DataWhale 导学

是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。一次遍历完成,最大盈利的计算, 同时记录 minPrice最小价格和maxProfit最大利润的两个变量。动态规划 dp[i][0] 没有股票持有的最大利润 dp[i][1] 持有股票拥有的最大利润。,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

2024-03-26 22:21:44 1033

原创 LeetCode 面试打卡 3: 二叉树与动态规划 - DataWhale 导学

我们用 1 表示「在子集中」,0 表示不在子集中,那么每一个子集可以对应一个长度为 n 的 01 序列,第 i位表示。:最后一层前的每一层都是满的(即,节点值为 {1} 和 {2,3} 的两层),且最后一层中的所有节点({4,5,6})尽可能靠左。它会自动保存最近使用的函数调用的结果,并在后续相同参数的调用中直接返回缓存的结果,这样就避免了重复计算。中,除了最后一层外,所有层都被完全填满,并且最后一层中的所有节点都尽可能靠左。装饰器,这是 Python 中的一个功能强大的工具,它可以自动缓存函数的结果。

2024-03-22 22:54:33 909 1

原创 leetcode面试打卡笔记(2) datawhale

使用数组来表示二叉树是一种常见的方法,尤其是对于完全二叉树或满二叉树来说,这种表示方法非常高效和直观。在这种表示法中,二叉树的每个节点都对应数组中的一个位置,数组的索引用于表示节点之间的父子关系。是最有效的,因为在完全二叉树中,不存在跳过的数组位置。对于非完全二叉树,这种方法也可以使用,但可能会导致数组中存在一些未使用的位置(用一些特殊值表示,如。),这些位置代表了虚拟的空节点,以保持父子节点间正确的位置关系。这意味着左边的都在左子树中,右边的都在右子树中。描述:给定一个二叉树的根节点 root。

2024-03-18 22:05:09 927

原创 leetcode面试打卡笔记(1) datawhale

最长 不重复的字串。这个问题是一个经典的滑动窗口问题,可以通过维护一个窗口来解决,这个窗口内的字符都是唯一的。随着遍历字符串,窗口的右边界不断向右移动,如果遇到了一个新字符(即这个字符在当前窗口内没有出现过),则可以扩大这个窗口的右边界。如果遇到的这个新字符在窗口中已经存在了,那么就需要移动窗口的左边界,直到这个重复的字符被移出窗口。在这个过程中,记录下所遇到的最大窗口长度,这个长度就是题目所要求的最长无重复字符子串的长度滑动窗口示例代码left = 0n = len(s)left += 1。

2024-03-16 15:14:47 396 1

原创 使用pandas进行并行数据加载 实现大数据量文件的快速读取

下面这行代码涉及到,数据加载以及数据合并。我会逐步拆解这行代码,讲解其中的知识点。来演示如何并行计算一个简单的任务:计算一系列数字的平方。加载大批量的数据,数据量巨大时,该方法有很大优势。

2024-02-14 21:27:28 639 1

原创 python多进程报错的解决方案

保护块和的使用是跨平台多进程编程的重要方面,确保了代码的正确初始化和安全执行。在Windows系统上,缺少这些机制可能导致上述错误,因为每个子进程都会尝试执行模块级别的代码,包括启动新的子进程,导致资源使用上的冲突和程序崩溃。

2024-02-14 08:53:26 778 2

原创 解决安装akshare 安装失败

如果电脑上有多个python版本,可以使用py命令来执行上述的命令,py命令可以参考我的这篇博客。首先尝试更新 setuptools 和 wheel。无法正确安装,查看错误日志后发现是。这个包下了下来,解压后运行。仍然报错,然后直接把。

2024-01-29 14:17:22 763 1

原创 纯javasrcipt实现单页电子邮件客户端——cs50 mail

由于页面全部由js实现,所以我们需要用js来创造HTML元素,为了实现更加美观的元素布局,我们还需要为元素添加类名,便于为元素添加css,除此之外,还需要为元素块设置监听,来更好的实现邮件客户端的功能。实现一个单页的电子邮件客户端,代码框架已经提供,仅仅需要javascript 完成接受邮件,发送邮件的功能。api来获取邮件,以及更新邮件的信息,创造邮件。)中呈现每封电子邮件,显示发件人、主题和时间戳。函数用于将创造好的HTML元素加入到文档中。,技术细节我会在下一篇博客探讨。中可以添加多个类名参数,

2023-12-18 18:45:26 1068 1

原创 解决python创建虚拟环境失败 无pip,强制继承全局包的问题

venv模块是Python的内置模块,用于创建和管理虚拟环境。工具是一种方便的方法,可以让您在多个Python版本之间切换,并且可以在虚拟环境中安装和管理包。,发生了如题的问题,你应该选择一个其他的python版本我这里使用的是。这将创建一个名为myenv的虚拟环境,并且使用系统的全局包安装目录。切换python版本创建虚拟环境,假设你默认的python环境是。这将创建一个使用Python 3.9解释器的虚拟环境。命令会自动使用该虚拟环境对应的Python版本。使用现有的python创建虚拟环境。

2023-12-18 18:43:55 499 1

原创 解决windows编写shell脚本在linux环境下不能运行的问题

这类问题通常是由于 Windows 下的换行符(CRLF,\r\n)与 Unix/Linux 下的换行符(LF,\n)的差异导致的。在Unix/Linux系统中,通常使用LF作为换行符,而在Windows系统中,使用CRLF。我在windows环境下编写的shell脚本,在云端notebook环境下无法运行。这会在脚本执行之前将Windows风格的换行符替换为Unix风格的换行符.这一行出现了问题,但是经过我的仔细检查,shell语句没有问题。

2023-12-15 21:59:48 536

原创 从零开始创建基于LLM的Agent——modelscope-agent

这是一个专为科研人员设计的论文润色助手,能够以大模型的专业知识来补充用户输入的文字,修正用户语言的语病,逻辑错误,并提供中英双语的论文版本。qwen agent的官方demo由gradio实现,因此我们在本地或者云端部署agent时,也应该了解一些gradio的简单知识:radio是一个用于简化机器学习模型部署的Python库。它的目标是让用户可以轻松地构建交互性的界面,用于与机器学习模型进行交互,而无需深入了解前端和部署的复杂性。使用实例!在这个例子中,表示输入是文本,表示输出也是文本,fn。

2023-12-15 15:35:41 3567 1

原创 pdf转txt 【python】

当我们需要对PDF文件中的文本进行处理时,将其转换为文本(TXT)格式是一个常见的需求。这个过程可以通过使用Python编程语言和一些相关的库来轻松实现。在本文中,我们将使用PyMuPDF库将PDF文件转换为TXT文件,并通过命令行参数来指定输入和输出的文件夹。

2023-12-15 11:10:00 515

原创 git分支合并操作

如果在合并过程中出现冲突,Git 将会提示。我在两台电脑上进行项目开发,需要保持进度一致并解决项目进度合并的问题。选项,你可以看到每个别名的获取(fetch)和推送(push)的 URL。:一旦本地合并完成并且所有冲突都已解决,将更改推送到远程仓库。要查看所有已配置的远程仓库别名,你可以使用 Git 的。这将显示每个远程仓库的别名及其对应的 URL。现在,我有一台电脑上的分支是。这将列出所有远程仓库的简短名称(别名)。分支代码,你需要先从远程仓库拉取它。分支的更改合并到你的本地。分支的最新代码合并到。

2023-12-01 16:57:36 404 2

原创 使用Django完成的电子拍卖商城【CS50 web commerce】

需要设计一个电子拍卖商城,能够允许用户可以上传商品,对商品进行出价,以及进行评论,并将商品添加到watchlist。最近在学习CS50的web课程,CS50系列课程的最大亮点是一个又一个难度高的project,这个项目我断断续续的花了3,4周的时间完成,克服了很多困难,也学到了很多的知识,我将完整的代码在文末。CS50作业地址在 这里 ,最终商城界面如下:这次项目的任务是创建一个名为"Commerce"的网站。虽然官方提供了代码的模板,但项目本身涵盖了广泛的内容,考验着参与者的综合素质。为了实现整体页面的

2023-11-07 17:31:24 97

原创 动态规划解决完全背包问题

两个属性,代表着他们的体积以及价值,现在所有的物品无限取用,求背包总和能够达到最大价值的物品取用方案。这个公式或许一开始难以理解,但是我们可以将其看成是由初始状态一层一层递推而来的,除了。那么如何推导出这个公式呢,因为可以用的物品是无限个物品所以相应的公式可以设置为。如此一来便可写出完全背包问题的代码:下面代码仅仅展现了思路。代表着取用i个物品下,总体积不超过V的最大价值组合。有一个背包体积为V,有n个物品,均有。外,还包含着前面物品采用多次的情况。最终我们实现的代码如下,在。等价,便可得到递推公式。

2023-10-31 11:16:50 28 1

原创 动态规划解决完全背包问题

那么如何推导出这个公式呢,因为可以用的物品是无限个物品所以相应的公式可以设置为$N(i,V) = max(N(i-1,V),N(i-1,V-v)+w,N(i-2,V-2v)+2w,...)$那么我们也可以将$V$**替换**$V-v$写出等价的式子$N(i,V-v)=max(N(i-1,V-v),N(i-1,V-2v)+w,N(i-2,V-3v)+2w$可知二式$N(i,V-v)+w$即可与一式的$N(i-1,V-v)....$等价,便可得到递推公式。### 完全背包问题。

2023-10-31 11:14:44 31 1

原创 使用pyqt5实现的三角形模糊识别简单小程序

学校的软计算方法作业,需要进行三角形模糊模式识别,在完成任务后,萌生了记录到博客的想法(偷笑),也想有一些总结或者新的思路。这个问题用到了模糊数学的知识,以及python pyqt,类的一些知识。

2023-10-30 10:48:27 78

原创 基于论文摘要的文本分类与关键词抽取挑战赛 DataWhale NLP夏令营(1)

基于论文摘要的文本分类与关键词抽取挑战赛 DataWhale NLP夏令营(1) basaeline代码介绍,学习笔记

2023-07-22 10:40:14 86

原创 DataWhaleCV夏令营笔记 (1)

DateWhale CV夏令营 脑PET图像分析和疾病预测挑战赛 baseline代码解析

2023-07-21 11:14:14 69 1

原创 基于遗传算法的Bp神经网络优化算法代码

使用遗传算法对BP神经网络隐藏层节点的权重与阈值进行优化。

2023-03-08 19:31:57 687 1

空空如也

空空如也

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

TA关注的人

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