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

专业营销型网站建设公司优化大师电脑版下载

专业营销型网站建设公司,优化大师电脑版下载,云服务器搭建网站,修改网站dns本文介绍如何将 PDF 和 TXT 文档通过摘要提取与向量化处理后存入向量数据库 Chroma,并实现 RAG(Retrieval-Augmented Generation)问答功能,适用于私有知识库、行业报告系统等场景。 一、 背景介绍 在构建 AI 应用(如智…

本文介绍如何将 PDF 和 TXT 文档通过摘要提取与向量化处理后存入向量数据库 Chroma,并实现 RAG(Retrieval-Augmented Generation)问答功能,适用于私有知识库、行业报告系统等场景。


一、 背景介绍

在构建 AI 应用(如智能问答、知识检索)时,第一步往往是将原始文档转化为向量形式并存入数据库。这通常包含以下流程:

 

  1. 加载原始文件(PDF、TXT 等格式)

  2. 文本切分(控制 chunk 大小以适配模型)

  3. 使用大模型提取摘要(减少冗余)

  4. 向量化(生成 embedding 向量)

  5. 存入向量数据库(如 Chroma)

本文将使用 LangChain 框架 + 阿里通义大模型 + Chroma 数据库,完成从原始文档到知识入库再到语义检索的完整闭环。


二、 技术选型

工具作用
LangChain文档加载、文本切分、链式处理调用
ChromaDB本地/远程向量数据库,支持相似度搜索
DashScope通义千问 Embedding 与摘要模型支持
PyMuPDF高效解析 PDF 文档内容
tqdm控制台进度条显示,便于查看批处理状态

三、 什么是向量数据库?

在 AI 应用中,大模型会将文本编码成向量(embedding),以便进行语义层面的匹配与搜索。此时,传统数据库已无法满足需求,我们通常会使用向量数据库来做底层支撑。

向量数据库的优势包括:

  • ✅ 适配高维嵌入向量(如 OpenAI/通义输出的 768/1536 维向量)

  • ✅ 提供基于向量的相似度检索(支持余弦距离、欧氏距离等)

  • ✅ 支持批量插入、删除、更新

  • ✅ 支持元数据绑定,便于实现过滤、分类检索等高级功能

本项目使用的 Chroma 向量数据库 是一个轻量级、高性能的开源库,具备本地部署优势,非常适合私有化知识库场景。


四、 第一步:连接 Chroma 向量数据库

from chromadb import HttpClient
from langchain_chroma import Chroma
from models import get_dashscope_embedclient = HttpClient(host="localhost", port=8000)
embed = get_dashscope_embed()db = Chroma(collection_name="doc_db", embedding_function=embed, client=client)# 可选:清空已有数据
ids = db.get(include=[])["ids"]
if ids:db.delete(ids=ids)

五、加载 PDF 并进行摘要处理

loader = PyMuPDFLoader("计算机行业深度报告:AI搜索,大模型商业落地“第一束光”.pdf")
docs = loader.load()splitter = RecursiveCharacterTextSplitter(chunk_size=2000, chunk_overlap=200)
chunks = splitter.split_documents(docs)prompt = ChatPromptTemplate.from_messages([("system", "你是一个文本摘要机器人,只输出适合入库的知识摘要:\n\n文章:{passage}\n\n摘要:")
])
chain = prompt | get_tongyi_llm() | StrOutputParser()final_docs = []
for doc in tqdm(chunks):metadata = {"author": "Tom","file_name": "计算机行业深度报告:AI搜索,大模型商业落地“第一束光”.pdf","create_datetime": get_current_datetime(),"department": "技术部","origin": doc.page_content}meta = deepcopy(doc.metadata)meta.update(metadata)summary = chain.invoke({"passage": doc.page_content})final_docs.append(Document(page_content=summary, metadata=meta))

六、加载 TXT 文本并生成摘要

with open("寻龙特刊.text", encoding="utf8") as f:texts = [t.strip() for t in f.read().split("###") if t.strip()]for text in tqdm(texts):metadata = {"author": "李四","file_name": "寻龙特刊.text","create_datetime": get_current_datetime(),"department": "产品部","origin": text}summary = chain.invoke({"passage": text})final_docs.append(Document(page_content=summary, metadata=metadata))

七、 批量写入 Chroma 向量数据库

batch_size = 10
num_docs = len(final_docs)for idx in range(math.ceil(num_docs / batch_size)):batch = final_docs[idx * batch_size : (idx + 1) * batch_size]if batch:db.add_documents(batch)

八、 查询测试:RAG 检索问答示例

入库后,我们就可以使用大模型 + 向量数据库实现 RAG 查询(检索增强生成),如下所示:

from langchain.chains import RetrievalQA
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from models import get_tongyi_llm# 构建 RAG 检索链
retriever = db.as_retriever(search_kwargs={"k": 3})  # top-3 相似块
llm = get_tongyi_llm()prompt = ChatPromptTemplate.from_messages([("system", "你是一个行业知识问答助手,请根据以下内容准确回答用户问题:\n\n{context}\n\n问题:{question}\n\n回答:")
])qa_chain = (prompt| llm| StrOutputParser()
)# 查询示例
query = "大模型在 AI 搜索领域有哪些实际应用?"
docs = retriever.get_relevant_documents(query)
context = "\n\n".join([doc.page_content for doc in docs])response = qa_chain.invoke({"context": context,"question": query
})print("💡 回答:", response)

你将看到模型结合真实资料内容给出的精准回答,这就是典型的 RAG 问答流程。


九、总结

本文构建了一个端到端的私有知识入库与查询系统:

  • ✅ 多格式文档支持(PDF、TXT)

  • ✅ 摘要提取减少冗余,提升嵌入质量

  • ✅ 向量化并存入 Chroma 向量数据库

  • ✅ 基于检索的问答系统(RAG)可灵活对接各类大模型

这一套流程适用于企业知识管理、内部报告搜索、垂直问答系统等多种场景,是 LLM 应用落地的重要基建环节。

http://www.dtcms.com/wzjs/194650.html

相关文章:

  • 园林设计网站大全一个完整的营销策划方案范文
  • 一整套vi设计六六seo基础运营第三讲
  • 如何开公司做网站怎么弄一个自己的网址
  • wordpress手机视频播放器钦州seo
  • 公司在选择网站时应考虑什么问题程序员培训机构排名
  • 网站开发赚钱吗深圳精准网络营销推广
  • 佛山网站优化软件地推接单平台找推网
  • 把插钉机子拍下怎么做网站抖音搜索优化
  • 网站如何做词个人小白如何做手游代理
  • 建网站策划方案推广方案的内容有哪些
  • 全国建设部网站证书查询今日热点新闻素材
  • 网站盈利模式设计优化网络培训
  • 网站+做内容分发资格邹平县seo网页优化外包
  • 网站的做公司应用商店aso
  • 好看的网站在哪里好找win10优化软件哪个好
  • 安全管理系统长沙企业关键词优化
  • 网站app微信三合一网站流量统计
  • 网站会员系统方案昆明seo
  • 怎么在网上接网站建设网络营销推广方案3篇
  • 宁波做公司网站的公司微信指数官网
  • 网站怎么加背景音乐生意参谋官网
  • 兰州网站建设公司企业培训内容包括哪些内容
  • 个人网站名称举例下载一个百度导航
  • 山东做网站费用宁德市是哪个省
  • 我的世界怎么做赞助网站建网站设计
  • 公司做网站服务费怎样做账网站优化推广招聘
  • 招才猫网站多少钱做的百度贴吧网页版入口
  • 如何为企业做网站海外网站seo优化
  • 抚州做网站广州关键词优化外包
  • 哪个网站有建设需要等文件保定百度推广优化排名