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

什么网站可以赚钱啊广州企业建站 网络服务

什么网站可以赚钱啊,广州企业建站 网络服务,查企业去哪个网站,界面做的最好的网站我们知道LLM(大语言模型)的底模是基于已经过期的公开数据训练出来的,对于新的知识或者私有化的数据LLM一般无法作答,此时LLM会出现“幻觉”。针对“幻觉”问题,一般的解决方案是采用RAG做检索增强。 但是我们不可能把…

我们知道LLM(大语言模型)的底模是基于已经过期的公开数据训练出来的,对于新的知识或者私有化的数据LLM一般无法作答,此时LLM会出现“幻觉”。针对“幻觉”问题,一般的解决方案是采用RAG做检索增强。

但是我们不可能把所有数据都丢给LLM去学习,比如某个公司积累的某个行业的大量内部知识。此时就需要一个私有化的文档搜索工具了。

本文聊聊如何使用LangChain结合LLM快速做一个私有化的文档搜索工具。之前介绍过,LangChain几乎是LLM应用开发的第一选择,它的野心也比较大,它致力于将自己打造成LLM应用开发的最大社区。自然,它有这方面的成熟解决方案。

文末,还会向朋友们推荐一款非常好用的AI机器人和LLM API超市,价格实惠又稳定,还可以领一波福利。

1. RAG检索流程

使用 LangChain 实现私有化文档搜索的主要流程,如下图所示:

文档加载 → 文档分割 → 文档嵌入 → 向量化存储 → 文档检索 → 生成回答

2. 代码实践细节

2.1. 文档加载

首先,我们需要加载文档数据。文档可以是各种格式,比如文本文件、PDF、Word 等。使用 LangChain,可以轻松地加载这些文档。下面以PDF为例:

from langchain_community.document_loaders import PyPDFLoaderloader = PyPDFLoader("./GV2.pdf")
docs = loader.load()

2.2. 文档分割

加载的文档通常会比较大,为了更高效地处理和检索,我们需要将文档分割成更小的段落或句子。LangChain 提供了便捷的文本分割工具,可以按句子、块长度等方式分割文档。

from langchain.text_splitter import RecursiveCharacterTextSplittertext_splitter = RecursiveCharacterTextSplitter(chunk_size=50,chunk_overlap=20,separators=["\n", "。", "!", "?", ",", "、", ""],add_start_index=True,
)
texts = text_splitter.split_documents(docs)

分割后的文档内容可以进一步用于生成向量。

2.3. 文档嵌入 Embeddings

文档分割后,我们需要将每一段文本转换成向量,这个过程称为文档嵌入。文档嵌入是将文本转换成高维向量,这是相似性搜索的关键。这里我们选择OpenAI的嵌入模型来生成文档的嵌入向量。

from langchain_openai import OpenAIEmbeddingsembeddings_model = OpenAIEmbeddings(openai_api_key="sk-xxxxxxxxxxx",openai_api_base="https://api.302.ai/v1",
)txts = [txt.page_content for txt in texts]embeddings = embeddings_model.embed_documents(txts)

2.4. 文档向量化存储

接下来,我们需要将生成的向量化的文档,存入向量数据库中。向量数据库主要用来做相似性搜索,可以高效地存储和检索高维向量。LangChain 支持与多种向量数据库的集成,比如 Pinecone、FAISS、Chroma 等。

本文以FAISS为例,首先需要安装FAISS,直接使用pip install faiss-cpu安装。

from langchain_community.vectorstores import FAISSdb = FAISS.from_documents(texts, embeddings_model)
FAISS.save_local(db, "faiss_db2")

2.5. 文档检索

当用户提出问题时,我们需要在向量数据库中检索最相关的文档。检索过程是计算用户问题的向量表示,然后在向量数据库中查找与之最相似的文档。最后将找到的文档内容,拼接成一个大的上下文。

向量数据库的检索支持多种模式,本文先用最简单的,后续再出文章继续介绍别的模式。

from langchain.retrievers.multi_query import MultiQueryRetrieverretriever = db.as_retriever()
# retriever = db.as_retriever(search_type="similarity_score_threshold",search_kwargs={"score_threshold":.1,"k":5})
# retriever = db.as_retriever(search_type="mmr")
# retriever = MultiQueryRetriever.from_llm(
#             retriever = db.as_retriever(),
#             llm = model,
#         )context = retriever.get_relevant_documents(query="张学立是谁?")_content = ""
for i in context:_content += i.page_content

2.6. 将检索内容丢给LLM作答

最后,我们需要将检索到的文档内容丢入到 prompt 中,让LLM生成回答。LangChain 可以PromptTemplate模板的方式,将检索到的上下文动态嵌入到 prompt 中,然后丢给LLM,这样可以生成准确的回答。

from langchain.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParserquestion = "张学立是谁?"
template = [("system","你是一个处理文档的助手,你会根据下面提供<context>标签里的上下文内容来继续回答问题.\n 上下文内容\n <context>\n{context} \n</context>\n",),("human", "你好!"),("ai", "你好"),("human", "{question}"),
]
prompt = ChatPromptTemplate.from_messages(template)messages = prompt.format_messages(context=_content, question=question)
response = model.invoke(messages)output_parser = StrOutputParser()
output_parser.invoke(response)

2.7. 完整代码

最后,将以上所有代码串起来,整合到一起,如下:

from langchain_openai import ChatOpenAI
from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import FAISS
from langchain.retrievers.multi_query import MultiQueryRetriever
from langchain.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParsermodel = ChatOpenAI(model_name="gpt-3.5-turbo",openai_api_key="sk-xxxxxxx",openai_api_base="https://api.302.ai/v1",
)loader = PyPDFLoader("./GV2.pdf")
docs = loader.load()text_splitter = RecursiveCharacterTextSplitter(chunk_size=50,chunk_overlap=20,separators=["\n", "。", "!", "?", ",", "、", ""],add_start_index=True,
)
texts = text_splitter.split_documents(docs)embeddings_model = OpenAIEmbeddings(openai_api_key="sk-xxxxxxx",openai_api_base="https://api.302.ai/v1",
)
txts = [txt.page_content for txt in texts]
embeddings = embeddings_model.embed_documents(txts)db = FAISS.from_documents(texts, embeddings_model)
FAISS.save_local(db, "faiss_db2")retriever = db.as_retriever()template = [("system","你是一个处理文档的助手,你会根据下面提供<context>标签里的上下文内容来继续回答问题.\n 上下文内容\n <context>\n{context} \n</context>\n",),("human", "你好!"),("ai", "你好"),("human", "{question}"),
]
prompt = ChatPromptTemplate.from_messages(template)question = "张学立是谁?"
context = retriever.get_relevant_documents(query=question)
_content = ""
for i in context:_content += i.page_contentmessages = prompt.format_messages(context=_content, question=question)
response = model.invoke(messages)output_parser = StrOutputParser()
output_parser.invoke(response)

2.8. 总结、推荐

通过 LangChain可以轻松实现私有化文档搜索,充分利用LLM的能力来处理和检索文档信息。按照文中的步骤,你也可以轻松实现。

好的问答系统离不开优秀的LLM,根据我的个人经验,OpenAI的大模型能力排名是Top1的。但是使用OpenAI不方便,不但需要梯子而且还不稳定。

一款好的LLM摆在面前,却用不了,着实头疼。有没有方便稳定的方式呢?当然有啦,我推荐一款AI自助平台,不但有问答机器人、文生图机器人、文生视频机器人,还有常见的LLM API,稳定又还便宜。具体使用方法见原文链接。
在这里插入图片描述

大模型&AI产品经理如何学习

求大家的点赞和收藏,我花2万买的大模型学习资料免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己整理的大模型视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

在这里插入图片描述

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方图片前往获取

3.技术文档和电子书

这里主要整理了大模型相关PDF书籍、行业报告、文档,有几百本,都是目前行业最新的。
在这里插入图片描述

4.LLM面试题和面经合集

这里主要整理了行业目前最新的大模型面试题和各种大厂offer面经合集。
在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

http://www.yayakq.cn/news/184363/

相关文章:

  • 建立网站的公司杭州西北建设有限公司网站
  • 有哪些营销型网站运营培训班有用吗
  • 外贸响应式网站网站如何收录
  • 潍坊高新区建设局网站网站没建好可以备案吗
  • 什么是网站建设中的目录上海建设工程交易中心官网
  • dedecms一键更新网站快速网站开发介绍
  • 可以做外链网站微信小程序怎么注销账号
  • 长沙网站se0推广优化公司经营网站 备案信息
  • vps除了做网站还能做什么做公司网站合同
  • 建站目的山西建筑工程集团有限公司
  • 企业门户网站模板 下载摄影网站的建设的论文
  • 用wordpress编辑文章如何全屏东莞百度seo找谁
  • 欧美网站建设教程手机网站根目录
  • 如何有效的进行网站策划网页前端开发工程师
  • 涟源网站建设wordpress怎么获取数据库
  • 网站定制分享想做一个自己的网站 怎么做
  • 网站案例代码网站开发就业薪酬
  • 佛山行业网站设计软文发布的平台与板块
  • 软件公司招聘网站营销型网站建设培训
  • 最大的搜索网站排名广东宏昌建设有限公司网站
  • 好点的开发网站的公司wordpress只显示代码
  • 接网站开发项目平台做网站起什么题目
  • 网站更换标题什么是公司注册资金
  • 北京建设工程信息网站南宁网站制作
  • 峡江网站建设网站上放百度地图怎么
  • 做网站可以用什么数据库东莞市官网网站建设公司
  • 东莞响应式网站哪家好免费注册二级域名网站
  • 网站建设公司不赚钱wordpress保存html
  • 什么是网站空间信息wordpress建立网站吗
  • 阿里巴巴免费做网站吗郑州男科医院哪家权威