当前位置:   article > 正文

RAG项目第二集:知识图谱embedding到向量数据库_rag的embedding数据怎么存

rag的embedding数据怎么存

网上很多文章都是讲把数据集嵌入到向量数据库后,直接在页面查询,虽然可以作为学习使用,但是不符合应用场景,用户都知道答案了,为啥还需要问大模型啊。所以笔者认为,应该是it或者业务部门构建企业的数据集后,先embdding到向量数据库内,在给大模型的提示中,写明,让大模型根据检索数据回答。

第一步:构建数据集

根据企业自身情况,构建高质量数据集,格式不限,网上有多种,如果是作为智能客服使用,推荐用instruction input output这个类型数据格式

第二步:编写python代码

1

我们使用langchain架构,所以首先import相关包文件,如下

python
复制代码
from langchain.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.embeddings.sentence_transformer import (
    SentenceTransformerEmbeddings,
)
from langchain.vectorstores import Chroma
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

本项目我们使用SentenceTransformerEmbeddings和Chroma轻量级向量数据库

2

加载数据集

python
复制代码
filepath = '/***'  #你本地文件及地址
loader = TextLoader(filepath, encoding='utf-8')
text = loader.load()
  • 1
  • 2
  • 3
  • 4
  • 5
3

分割数据集

python
复制代码
text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=100,
    chunk_overlap=0,
    separators=["},\n"],
    length_function=len
)
split_docs = text_splitter.split_documents(text)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
4

嵌入数据集并永久存储到本地

python
复制代码
embedding_function = SentenceTransformerEmbeddings(model_name="shibing624/text2vec-base-chinese")

vectorstore = Chroma.from_documents(split_docs, embedding_function, persist_directory="/") # 本地存储到向量数据库的地址,换成你自己的
vectorstore.persist()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

第三步:测试

python
复制代码
# 测试是否嵌入成功
query = "你是谁?" #测试问句
doc = vectorstore.similarity_search(query)
print(doc[0].page_content)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果测试和回答没有问题,说明数据集已经成功embedding到向量数据库了,可以生成一个后缀名为.py的文件,后续数据集如果需要更新,可直接python *.py 执行即可。


这个项目代码我已经开源到GitHub上了,可以点这个链接,直接下载整个项目代码:github.com/davidhandso… 里面的Embeddings.py,就是以上的代码

接下来,第三集:自定义LLM大模型类的构建

如何系统的去学习大模型LLM ?

作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料 包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/688128
推荐阅读