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

网站建设系统哪家好wordpress站点安装

网站建设系统哪家好,wordpress站点安装,搭建网站要什么配置,盐城网站建设多少钱总体流程逻辑设计:PDF文件 → 提取文本 → 分块 → 向量化 → FAISS存储 ↓相似度检索↓LLM问答↓返回答案核心代码块功能实现:from PyPDF2 import PdfReader from langchain.chains.question_answering import load_qa_chain from langchain.text_split…

总体流程逻辑设计:

PDF文件 → 提取文本 → 分块 → 向量化 → FAISS存储 

                                                                            ↓

                                                                     相似度检索

                                                                            ↓

                                                                       LLM问答

                                                                            ↓

                                                                       返回答案

核心代码块功能实现:

from PyPDF2 import PdfReader
from langchain.chains.question_answering import load_qa_chain
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.embeddings import DashScopeEmbeddings
from langchain_community.vectorstores import FAISS
import os
1. 本地PDF 文本提取内容
def extract_text_from_pdf(pdf) -> str:"""从PDF中提取文本内容参数:pdf: PDF文件对象返回:text: 提取的文本内容"""text = ""for page_number, page in enumerate(pdf.pages, start=1):extracted_text = page.extract_text()if extracted_text:text += extracted_textelse:print(f"第 {page_number} 页未找到文本内容。")return text
2.文本分割与向量数据库加载
def create_knowledge_base(text: str) -> FAISS:"""处理文本并创建向量存储参数:text: 提取的文本内容返回:knowledgeBase: 基于FAISS的向量存储对象"""# 创建文本分割器,用于将长文本分割成小块text_splitter = RecursiveCharacterTextSplitter(separators=["\n\n", "\n", ".", " ", ""],chunk_size=200,chunk_overlap=50,length_function=len,)# 分割文本chunks = text_splitter.split_text(text)print(f"文本被分割成 {len(chunks)} 个块。")# 创建嵌入模型embeddings = DashScopeEmbeddings(model="text-embedding-v1",dashscope_api_key=DASHSCOPE_API_KEY,)# 从文本块创建知识库knowledgeBase = FAISS.from_texts(chunks, embeddings)print("已从文本块创建知识库。")return knowledgeBase
3.模型相似度匹配,基于LangChain问答链进行查询

def query_pdf(knowledgeBase, query: str, llm) -> str:"""查询PDF内容参数:knowledgeBase: FAISS向量存储对象query: 查询问题llm: 语言模型返回:response: 查询结果"""# 执行相似度搜索,找到与查询相关的文档docs = knowledgeBase.similarity_search(query, k=1)# 加载问答链chain = load_qa_chain(llm, chain_type="stuff")# 准备输入数据input_data = {"input_documents": docs, "question": query}# 执行问答链response = chain.invoke(input=input_data)return response["output_text"]
4.主函数流程
def main():"""主函数"""# 读取PDF文件pdf_path = 'xxx.pdf' #加载你自己本地的pdf文件pdf_reader = PdfReader(pdf_path)# 提取文本text = extract_text_from_pdf(pdf_reader)print(f"提取的文本长度: {len(text)} 个字符。")# 创建知识库knowledgeBase = create_knowledge_base(text)# 创建语言模型from langchain_community.llms import Tongyillm = Tongyi(model_name="deepseek-v3", dashscope_api_key=DASHSCOPE_API_KEY)# 设置查询问题query = "研究生专业实践时间需要多长时间"  #这里是我调用了自己学校的实践说明文档,发起的提问if query:# 执行查询response = query_pdf(knowledgeBase, query, llm)print(f"问题: {query}")print(f"回答: {response}")if __name__ == "__main__":main()

通过以上代码,可以将自己的本地数据(pdf文件)分块向量化,并存入向量数据库中,通过deepseek-v3模型和langchain问答链,进行知识问答,搭建了一个简易的RAG系统。

http://www.dtcms.com/a/518905.html

相关文章:

  • 中国站长之家爱站网网站的seo优化报告
  • .net网站开发实训代码wordpress图片本地化插件
  • 网站集成微信登录网站建设方案及报价单
  • 网站的ftp管理权限是什么意思网页设计与制作课程内容
  • wordpress主题nana电影网站如何做seo优化
  • 网站卡密代理怎么做惠州淘宝网站建设
  • 网站如何制作学校的做网站采用哪种开发语言
  • 如何优化网站tkd济南好的seo
  • 网站建设3d插件网络广告推广网站
  • 苏宁易购网站风格网站搭建软件有哪些
  • 大连网站建设要多少钱的网站开发工具
  • 南昌本地生活网站有哪些鞍山信息港征婚
  • 深圳建科技有限公司网站首页深圳做网站的大公司
  • 省建设厅网站物业管理长春专业做网站的公司有哪些
  • 住房和城乡建设部网站下载遵义市网站制作
  • 为什么网站浏览不是做的那样手机制作h5最常用软件
  • 万网制作网站怎么样排行网页游戏
  • 网站官方认证怎么做做网站服务器要用多大
  • 网站配置伪静态台州网页设计公司
  • 辽宁城乡建设部网站教科院网站建设
  • wordpress 摄影订单北京seo服务商找行者seo
  • 网站建设网站徒手整形企业门户网站设计方案
  • 网站建设更改网络推广员工作内容
  • 做网站要多嘉兴市海盐建设局网站
  • 备案网站名称与实际网站名称不一致广州注册公司地址
  • wap网站在线生成服装公司网站多少钱
  • 登录可见wordpress天津网络关键词优化
  • 德德模板网站建设步骤wordpress 例子
  • 模板网站优化献县建设局网站
  • 网上接做网站的单子网站开发地图导航页面