首页 > 其他分享 >使用SiliconCloud快速体验SimpleRAG(手把手教程)

使用SiliconCloud快速体验SimpleRAG(手把手教程)

时间:2024-08-22 15:05:17浏览次数:12  
标签:RAG 手把手 模型 生成 网球 SimpleRAG SiliconCloud 郑钦文

SiliconCloud介绍

SiliconCloud 基于优秀的开源基础模型,提供高性价比的 GenAI 服务。

不同于多数大模型云服务平台只提供自家大模型 API,SiliconCloud上架了包括 Qwen、DeepSeek、GLM、Yi、Mistral、LLaMA 3、SDXL、InstantID 在内的多种开源大语言模型及图片生成模型,用户可自由切换适合不同应用场景的模型。

更重要的是,SiliconCloud 提供开箱即用的大模型推理加速服务,为您的 GenAI 应用带来更高效的用户体验。

对开发者来说,通过 SiliconCloud 即可一键接入顶级开源大模型。拥有更好应用开发速度和体验的同时,显著降低应用开发的试错成本。

官网地址:https://siliconflow.cn/zh-cn/siliconcloud

image-20240822095915114

RAG是什么?

检索生成增强(Retrieval-Augmented Generation,RAG)是一种结合了检索(Retrieval)和生成(Generation)两种技术的自然语言处理方法,主要用于改进文本生成任务的性能,如问答系统、对话系统、文本摘要和文档生成等。RAG模型通过在生成模型的基础上,引入一个检索模块,来增强生成模型的准确性和丰富性。

在传统的生成模型中,模型完全依赖于训练数据中学习到的模式和统计信息来生成文本,这可能导致生成的内容缺乏新颖性或准确性。而检索模块则可以从外部知识库或文档中检索相关的信息,将这些信息作为额外的输入,提供给生成模型,从而帮助生成更准确、更丰富和更具体的文本。

具体来说,RAG模型的工作流程如下:

  1. 检索阶段:模型首先根据输入的查询或上下文,从外部知识库中检索出与之最相关的文档或片段。

  2. 融合阶段:检索到的信息与输入的查询或上下文进行融合,形成增强的输入。

  3. 生成阶段:增强后的输入被送入生成模型,生成模型根据这些信息生成最终的文本输出。

通过这种方式,RAG模型能够在生成过程中利用到外部知识,提高了生成文本的准确性和丰富性,同时也增强了模型的可解释性,因为生成的文本可以追溯到具体的来源。RAG模型在处理需要大量领域知识或具体事实信息的任务时,表现出了显著的优势。

SimpleRAG介绍

A simple RAG demo based on WPF and Semantic Kernel.

SimpleRAG是基于WPF与Semantic Kernel实现的一个简单的RAG应用,可用于学习与理解如何使用Semantic Kernel构建一个简单的RAG应用。

image-20240822100239041

GitHub地址:https://github.com/Ming-jiayou/SimpleRAG

主要功能

AI聊天

支持所有兼容OpenAI格式的大语言模型:

image-20240819163701855

文本嵌入

支持所有兼容OpenAI格式的嵌入模型:

image-20240819163900106

简单的RAG回答

简单的RAG回答效果:

image-20240819164221306

对比不使用RAG的回答:

image-20240819164322893

使用SiliconCloud快速体验SimpleRAG

来到SimpleRAG的GitHub参考,注意到这里有个Releases:

image-20240822100649148

点击SimpleRAG-v0.0.1,有两个压缩包,一个依赖net8.0-windows框架,一个独立:

image-20240822100817138

依赖框架的包会小一些,独立的包会大一些,如果你的电脑已经装了net8.0-windows框架可以选择依赖框架的包,考虑到可能大部分人不一定装了net8.0-windows框架,我以独立的包做演示,点击压缩包,就在下载了:

image-20240822101244281

解压该压缩包:

image-20240822101450182

打开appsettings.json文件:

image-20240822101600329

appsettings.json文件如下所示:

image-20240822101740892

默认是使用SiliconCloud的api,只需填入你的SiliconCloud的Api Key即可,完成后,如下所示:

image-20240822102046293

现在点击SimpleRAG.exe即可运行程序:

image-20240822102117959

程序运行之后,如下所示:

image-20240822102215516

先通过AI聊天测试配置是否成功:

image-20240822102306935

配置已经成功。

现在来测试一下嵌入。

先拿一个简单的文本进行测试:

小n最喜欢吃的水果是西瓜。

image-20240822102445438

嵌入成功:

image-20240822102504358

这个Demo程序为了方便存储文本向量使用的是Sqlite数据库,在这里可以看到:

image-20240822102554159

如果你有数据库管理软件的话,打开该数据库,会发现文本已经以向量的形式存入Sqlite数据库中:

image-20240822102822026

现在开始测试RAG回答效果:

image-20240822102901171

对比不使用RAG的回答效果:

image-20240822102956395

可以发现大语言模型根本不知道我们想问的私有数据的事情,出现了幻觉。

现在我们可以来测试一下更复杂一点的文本了:

一夜之间,郑钦文的名字霸占了中国各大媒体的头条,不仅仅是体育板块。

人们讨论着她在奥运会网球女单赛场上的强势表现,讨论着她那起起伏伏的网球人生,也讨论着她在未来的商业价值,甚至讨论着她有没有机会在未来超过李娜的历史地位。

但对于这位才21岁的女孩来说,在赢得奥运金牌之后,对她自身而言最大的帮助就是,她可以抱着轻松的心态站上赛场。

“我这次终于光宗耀祖了,终于可以好好地炫耀了。”在赛后一天,郑钦文接受了包括澎湃新闻(www.thepaper.cn)在内的几家媒体的群访,在采访中,她收起了赛场上“女王的霸气”,展现出了一个邻家女孩的亲和力,她甚至借着媒体的镜头和父亲喊话,“以后打不好别给我压力嗷,因为这块金牌代表了一切!”

“老爸的眼睛哭肿了”

就在一天前的赛后发布会上,当一位外国记者问郑钦文,“你的胜利是不是源于国际化的团队”时,郑钦文没有否认,但她也强调,“我的成功离不开家人的支持和鼓励。”

郑钦文自己说,她能够坚持网球这条路得益于母亲在她12岁的时候辞掉工作全身心照顾她,也是因为她父亲的严格要求,才能不断推动她进步,“我拥有一个国际化的团队,因为我一直希望能够变得更强,但是无论我走到哪里,我永远都不会忘记我是一名中国运动员。”

过去几天,在接受媒体采访时,郑钦文不止一次提到了他的父母,在他看来,亲情的力量也是她在赛场上取得成功的一个精神动力。

赛后一天,作为耐克签约运动员,现身法兰西大球场旁的耐克运动员之家的郑钦文又提到了她的父母,“我很少见地看到我老爸居然哭了,眼睛都肿了。”

郑钦文透露,她的父亲从小就和她灌输奥运会的重要性,在打奥运之前她拿下WTA250的冠军时,她的父亲都没有怎么夸奖她,只说要好好准备接下来的奥运会,“在爸爸眼中,奥运会比大满贯还重要。”

此外,郑钦文还透露,在她十四五岁那个时候,她的父亲甚至要卖掉房子供她打球,“因为他看得出来我很有潜力,所以他想倾尽一切来圆这个网球梦。”

在感谢父母的同时,郑钦文也俏皮地说,这枚奥运金牌可以帮她躲过自己父亲的唠叨和责骂,“我觉得这次奥运会的冠军也给我带来了一些压力上的减轻,因为我觉得我爸妈肯定在以后会更享受我在网球场上的状态,就可能不再会只是拘泥于成绩了。”
两年时间,郑钦文正在快速地爬上世界女子网坛的巅峰,但这条上坡的路,郑钦文花费了不少力气。除了父母买房供她打球,她自己也每一天都在督促自己。

在采访中,郑钦文就向现场记者们展示了她布满老茧的手,“这个地方倒还好,其实冬天的时候它会产生血泡,但夏天的时候就还好。”

郑钦文坦言,网球运动员承受压力最大的地方其实不是手,而是脚,“你可以看到我们的脚底板经常会磨出血泡或者水泡之类的东西,这个就很难展示了,但是我觉得这是作为运动员应该需要去承受的一部分,因为运动它就是一个不断突破自我极限的过程。”

郑钦文在今年的巴黎奥运会上就突破了极限,不仅为中国网球创造历史,而且在个人层面也击败了当今的世界第一斯瓦泰克。

那么,这次奥运经历会成为郑钦文的转折点吗?

郑钦文自己说,每场比赛都有可能成为人生的转折点,因为网球比赛不只是胜利结果那么简单,它需要六场乃至七场胜利才可能赢下一个冠军。

“决赛带给我的惊心动魄,带给我的人生经验肯定是无与伦比的,我会永远铭记那一刻,也包括以后我在任何一个困难和低谷时期,因为不管怎么样,我知道职业生涯它都会有高开低走或者低开高走的一个跌宕起伏的过程,这很正常。”郑钦文说,她现在很感谢那个始终没有想过放弃的自己,“很奇怪,我一路走来即使有过再艰难的时刻,就是我哭得再厉害,因为输掉比赛怎么样,我也从来都没有想过要放弃。”

胜利,就是对这份坚持最好的褒奖。“我觉得真的一切都是值得的。”
为中国体育拿下第一枚奥运网球女单金牌之后,郑钦文也希望这次突破可以让网球这项运动进入大众视野,甚至让更多青少年萌生把网球作为自己职业运动的想法。

“网球确实是一项很国际化的运动,也是一项高性价比的运动。”郑钦文是一个性格直率的女孩,面对着媒体的长枪短炮,她也不太会去刻意修饰自己的一些真实想法,“相比于其他女子球类运动,网球属于奖金很高的一个项目,我觉得这也是很少的、努力跟收获能够成正比的一个运动。”

在郑钦文看来,“网球相对于其他项目更吸引我的一点就是,虽然前期付出真的非常多,多到我已经不再想去回忆,但是当收获的那一刻,你会发现付出是可以拥有回报的。”

她将网球描述成“在阳光底下的运动”,“它可以产生更多的维生素、更多的多巴胺分泌;网球还是一项非常全面性的运动,几乎可以锻炼到所有,我觉得这都是对身体很健康的。”

如今,郑钦文就成为了一道阳光,她希望照到更多愿意接触网球的年轻人。

而对于外界那些“打网球想要冲击职业需要花费很多钱”的说法,郑钦文并不是完全认同,“究竟要花多少钱很难去确定,因为每个球员选择的道路不一样。有的球员可能是国家自己的网协赞助培养,比如法国体系的球员有法网,网协可以赚很多钱,所以说他们在球员这方面会付出得很多;但是像在中国像我自己,可能完全就是我家里人一步一步支持我,把我培养了出来。”

在西班牙训练的那段时间,郑钦文就感受到了当地相当吸引人的网球氛围,更重要的是,在西班牙学网球的花费甚至更低,“西班牙球员在费用方面可能没有那么大的压力,但是因为我们是中国人,去国外一个不属于我们自己的家乡去训练,所以费用会更高一点。”

“真的很希望网球文化可以在中国流行起来。”在世界各地感受过网球的氛围后,郑钦文期待有一天中国也会变成那样,“我希望未来有一天我们中国在网球这方面也能做到这样。”

一样的嵌入文本之后,测试RAG效果:

image-20240822103413583

image-20240822103533115

对比不使用RAG的回答效果:

image-20240822103631774

大语言模型的知识局限于训练时所用到的知识,一些最近的内容,大语言模型是不知道的。

以上就成功使用SiliconCloud体验了SimpleRAG。

实现的原理,在我的这篇文章中有进行介绍,感兴趣的朋友可以看看:

SemanticKernel/C#:检索增强生成(RAG)简易实践

最后

如果对你有所帮助,点个Star✨,就是最大的支持

标签:RAG,手把手,模型,生成,网球,SimpleRAG,SiliconCloud,郑钦文
From: https://www.cnblogs.com/mingupupu/p/18373908

相关文章

  • 【计算机人接私活】手把手教你上手挖到第一个漏洞,从底薪3k到月入过万,只有一步之遥!
     计算机人想接靠谱的私活?看这篇!暑假想做兼职赚生活费?看这篇!挖漏洞找不到门路?看这篇!挖漏洞必备工具Up入行网安多年,一直在探索副业项目。从最初的月薪5k,到现在一个漏洞就能赚12k,副业赚的钱已经是主业的三倍!现在就将自己的经验和干货分享给大家:首先是挖漏洞工具,安装......
  • 【计算机人接私活】手把手教你上手挖到第一个漏洞,从底薪3k到月入过万,只有一步之遥!
     计算机人想接靠谱的私活?看这篇!暑假想做兼职赚生活费?看这篇!挖漏洞找不到门路?看这篇!挖漏洞必备工具Up入行网安多年,一直在探索副业项目。从最初的月薪5k,到现在一个漏洞就能赚12k,副业赚的钱已经是主业的三倍!现在就将自己的经验和干货分享给大家:首先是挖漏洞工具,安装......
  • 手把手教你用Go开发客户端软件(使用Go + HTML)
    开发桌面客户端软件一直是程序员的常见任务之一,而Go语言凭借其简洁、高效以及丰富的第三方库,越来越多地被用于开发各类应用程序。今天我们将结合Go语言和HTML,使用开源项目Sciter的Go绑定库go-sciter,为大家展示如何用最少的开发精力构建一个跨平台的桌面客户端。什么是......
  • SimpleRAG:基于WPF与Semantic Kernel实现的一个简单的RAG应用
    SimpleRAG介绍SimpleRAG是基于WPF与SemanticKernel实现的一个简单的RAG应用,可用于学习与理解如何使用SemanticKernel构建RAG应用。GitHub地址:https://github.com/Ming-jiayou/SimpleRAG主要功能AI聊天支持所有兼容OpenAI格式的大语言模型:文本嵌入支持所有兼容OpenAI格式......
  • 【实战教程】手把手教你微调热门大模型 Llama 3
    Llama3近期重磅发布,发布了8B和70B参数量的模型,我们对Llama3进行了微调!!!今天手把手教大家使用XTuner微调Llama3模型。Llama3概览首先我们来回顾一下Llama3亮点概览~首次出现8B模型,且8B模型与70B模型全系列使用GQA(GroupQueryAttention)。最......
  • 从零开始:手把手教你IDEA中搭建RuoYi-Cloud,轻松上手微服务
    RuoYi-Cloud简介RuoYi-Cloud是一个JavaEE企业级快速开发平台,它采用了微服务架构设计,主要技术栈包括SpringBoot、SpringCloud&Alibaba、Vue和ElementUI。同时也是我们学习微服务的首选开源项目。RuoYi-Cloud对于初学者要在IDEA开发工具中搭建并运行起来,着实不容易。......
  • 最佳实践:在AvaloniaChat中接入SiliconCloud
    AvaloniaChat介绍AvaloniaChat是一个基于大语言模型用于翻译的简单应用。在看英文文献的过程中,比较喜欢对照着翻译看,因此希望一边是英文一边是中文,虽然某些软件已经自带了翻译功能,但还是喜欢大语言模型的翻译,但每次都要将英文复制粘贴过去还要自己手动添加prompt,还无法对照......
  • 手把手教你利用算法工具链训练、量化、编译、可视化征程 6 参考算法 BEVFormer
    写在前面:关于OE包内参考算法的使用,地平线已经释放了大量文档指导用户完成各类模型的训练、校准、量化、定点过程,但其中有些细节可能会对不是特别熟悉算法工具链的客户造成困扰,本文档致力于消除参考算法使用过程中所有可能存在的模糊操作,引导初学者快速上手参考算法,在实操中树立......
  • pdf文件改时间有哪些方法?手把手教你6个修改PDF时间属性的方法
    在数字化办公日益普及的今天,PDF(PortableDocumentFormat)文件因其跨平台兼容性和内容不易被篡改的特性,成为了文档传输和分享的首选格式。然而,在某些情况下,我们可能需要修改PDF文件的属性,比如作者名、标题、主题、关键词等元数据,或是调整文件的安全设置。本文将详细介绍如何修改......
  • 什么?你还不会微调T5模型?手把手教你弄懂!
    大家好,我是Bob!......