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

网站推广名词解释做一个介绍网站多少钱

网站推广名词解释,做一个介绍网站多少钱,国内响应式网站,网站建设技术入股合同目录 一、总体流程 二、LangChain PDF 问答执行流程 2.1 加载环境变量(如 API Key) 2.2 加载 PDF 文档并按页解析 2.3 文本切割(将每页切成小段用于向量化) 2.4 嵌入生成 向量存储(使用 OpenAIEmbeddings …

目录

一、总体流程 

二、LangChain PDF 问答执行流程

2.1 加载环境变量(如 API Key)

2.2  加载 PDF 文档并按页解析

2.3  文本切割(将每页切成小段用于向量化)

2.4  嵌入生成 + 向量存储(使用 OpenAIEmbeddings + Chroma)

2.5  设置向量检索器(基于相似度+限制最多返回K条)

 2.6 用户提问 → 检索相关内容

 2.8 调用大语言模型回答问题

三、完整代码流程



 这是一个基于 LangChain 的 PDF 问答系统,支持加载 PDF 文档,将内容切割后生成向量索引,用户提问时通过语义检索获取相关内容,并调用大语言模型(如 GPT-4o)在检索结果基础上准确回答问题。系统具备高效检索、智能问答和防止幻觉的能力。

一、总体流程 

PDF → 分页 → 切段 → 嵌入 → 向量存储
                                        ↓
                                  用户提问 → 相似片段检索 → 拼 prompt → GPT 回答 

执行流程简述

  1. 加载 PDF:
    使用 PyPDFLoader 加载 PDF 文档,并按页分割。

  2. 切割文本:
    RecursiveCharacterTextSplitter 把每页内容切成更小的段落,便于后续嵌入处理。

  3. 生成向量:
    OpenAIEmbeddings 将切片转为向量,存入 Chroma 向量数据库中。

  4. 设置检索器:
    配置 Retriever,通过相似度筛选出与用户问题相关的 3~5 个段落。

  5. 构造提示词 Prompt:
    将检索结果拼成一段“已知信息”,插入到提示词模板中。

  6. 调用大模型回答:
    使用 ChatOpenAI(如 GPT-4o)输入 Prompt,生成回答并输出。


二、LangChain PDF 问答执行流程

2.1 加载环境变量(如 API Key)

from dotenv import load_dotenv
load_dotenv()

2.2  加载 PDF 文档并按页解析

from langchain_community.document_loaders import PyPDFLoaderloader = PyPDFLoader("你的PDF路径.pdf")
pages = loader.load_and_split()

2.3  文本切割(将每页切成小段用于向量化)

from langchain.text_splitter import RecursiveCharacterTextSplittertext_splitter = RecursiveCharacterTextSplitter(chunk_size=200,chunk_overlap=100,add_start_index=True
)paragraphs = []
for page in pages:paragraphs.extend(text_splitter.create_documents([page.page_content]))

2.4  嵌入生成 + 向量存储(使用 OpenAIEmbeddings + Chroma)

from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chromaembedding = OpenAIEmbeddings()
db = Chroma.from_documents(paragraphs, embedding)

 


2.5  设置向量检索器(基于相似度+限制最多返回K条)

retriever = db.as_retriever(search_type="similarity_score_threshold",search_kwargs={"score_threshold": 0.3,"k": 4}
)

 2.6 用户提问 → 检索相关内容

query = "孩子考级有什么用?"
docs = retriever.invoke(query)info_text = "\n".join([doc.page_content for doc in docs])

2.7 构造提示词 Prompt

from langchain.prompts import PromptTemplateprompt_template = """
你是一个问答机器人。
你的任务是根据下述给定的已知信息回答用户问题。
确保你的回复完全依据下述已知信息。不要编造答案。
如果下述已知信息不足以回答用户的问题,请直接回复"我无法回答您的问题"。已知信息:
{info}用户问:
{question}请用中文回答用户问题。
"""prompt = PromptTemplate.from_template(prompt_template).format(info=info_text,question=query
)

 2.8 调用大语言模型回答问题

from langchain_openai import ChatOpenAIllm = ChatOpenAI(model_name="gpt-4o")
response = llm.invoke(prompt)print(response.content)

 

三、完整代码流程

from dotenv import load_dotenv
load_dotenv()
from langchain_community.document_loaders import PyPDFLoader#===========1、文档加载===========
loader=PyPDFLoader(r"D:\file\关于中国电子学会考级比较关注的问题!.pdf")
pages=loader.load_and_split()#===========2、文档切割===========
from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter=RecursiveCharacterTextSplitter(chunk_size=200,chunk_overlap=100,length_function=len,add_start_index=True
)
paragraph=[]
for page in pages:paragraph.extend(text_splitter.create_documents([page.page_content]))#===========3、向量存储===========
from langchain_openai import OpenAIEmbeddings
from langchain_community.vectorstores import Chroma
embedding=OpenAIEmbeddings()
db=Chroma.from_documents(paragraph,embedding)#===========4、向量检索===========
retriever=db.as_retriever(search_type="similarity_score_threshold",search_kwargs={"score_threshold": 0.3,  # 保证相关性"k": 1                   # 最多返回 1 个相关片段}
)
docs=retriever.invoke("考级有什么用?")for i,doc in enumerate(docs):print("-"*68)print(f"第{i+1}段:")print(doc.page_content)# ===========5、组装提示词===========
from langchain.prompts import PromptTemplateprompt_template = """
你是一个问答机器人。
你的任务是根据下述给定的已知信息回答用户问题。
确保你的回复完全依据下述已知信息。不要编造答案。
如果下述已知信息不足以回答用户的问题,请直接回复"我无法回答您的问题"。已知信息:
{info}用户问:
{question}请用中文回答用户问题。
"""template = PromptTemplate.from_template(prompt_template)# 拼接 info 文本
info_text = "\n".join([doc.page_content for doc in docs])# 构造 prompt
prompt = template.format(info=info_text,question="考级有什么用"
)print("="*68)
print("提示词为:\n", prompt)# ============6、调用语言模型===========
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model_name="gpt-4o")try:res = llm.invoke(prompt)print("\n\n", "="*68)print(f"语言大模型:\n{res.content}")
except Exception as e:print(f"模型调用失败:{e}")

运行结果

--------------------------------------------------------------------
第1段:
①为什么要参加考级?学生的角度:机器人等级考试是一个见证孩子成
长的过程,是对孩子一段时间学习成果的检验,
也是给孩子们提供了一个展示自我的平台,通过
与同龄人之间的比较,开阔自己的视野;同时锻
炼同学们线上 / 线下考试的临场发挥能力,对于以
后参加考试或者比赛积累经验;通过考试还可以
增加同学们的信心,增强自信,获取成就感,为
长期学习机器人课程助力。
====================================================================
提示词为:你是一个问答机器人。
你的任务是根据下述给定的已知信息回答用户问题。
确保你的回复完全依据下述已知信息。不要编造答案。
如果下述已知信息不足以回答用户的问题,请直接回复"我无法回答您的问题"。已知信息:
①为什么要参加考级?学生的角度:机器人等级考试是一个见证孩子成
长的过程,是对孩子一段时间学习成果的检验,
也是给孩子们提供了一个展示自我的平台,通过
与同龄人之间的比较,开阔自己的视野;同时锻
炼同学们线上 / 线下考试的临场发挥能力,对于以
后参加考试或者比赛积累经验;通过考试还可以
增加同学们的信心,增强自信,获取成就感,为
长期学习机器人课程助力。用户问:
考级有什么用请用中文回答用户问题。====================================================================
语言大模型:
参加考级有助于见证孩子的成长过程,是对他们一段时间学习成果的检验,并提供展示自我的平台。通过与同龄人的比较,孩子们可以开阔视野,锻炼线上线下考试的临场发挥能力,为以后参加考试或比赛积累经验。此外,考级可以增加孩子们的信心,增强自信,获取成就感,为长期学习机器人课程助力。

文章转载自:

http://dYk30ysS.dwrbn.cn
http://qFy3audz.dwrbn.cn
http://wIgtoWfH.dwrbn.cn
http://1hOcMmbs.dwrbn.cn
http://ZSZd8LLU.dwrbn.cn
http://Ye8QGNTJ.dwrbn.cn
http://UrS4Pgkq.dwrbn.cn
http://JGEQ4NWL.dwrbn.cn
http://U5Q4erT2.dwrbn.cn
http://ppuj8FnG.dwrbn.cn
http://QVJOjNob.dwrbn.cn
http://P5fshDiO.dwrbn.cn
http://A159ovRc.dwrbn.cn
http://Qtty4jfN.dwrbn.cn
http://E3lbP1ge.dwrbn.cn
http://WYHDlUja.dwrbn.cn
http://oUrzaW5Y.dwrbn.cn
http://YsCOJk1t.dwrbn.cn
http://O9k6FqyA.dwrbn.cn
http://vMUG1jjE.dwrbn.cn
http://jan1q93s.dwrbn.cn
http://mAvccj3o.dwrbn.cn
http://9cvsErYv.dwrbn.cn
http://X5mQmQ5A.dwrbn.cn
http://SpbQt1g5.dwrbn.cn
http://LfvO6cdt.dwrbn.cn
http://D1gJqEOf.dwrbn.cn
http://JI9BAUYz.dwrbn.cn
http://vnxfgqmG.dwrbn.cn
http://Gr6GONgt.dwrbn.cn
http://www.dtcms.com/wzjs/667758.html

相关文章:

  • 做商城网站的流程公司做网站需要哪些费用
  • 网站做链接的意义是什么意思做a视频在线观看网站
  • 网站建设背景分析wordpress 前端开发
  • 太原网站建设全包全国定制网站服务器云主机
  • 浏阳建设局网站龙岩到永定汽车时刻表
  • 手机网站用什么后台做 cad效果图网站
  • 制作短链接网站淘大象关键词排名查询
  • wordpress能建什么网站网站首页改版影响优化
  • 天猫网站左侧菜单向右滑出的导航菜单注册企业营业执照需要什么条件
  • 梅州建站公司可以先做网站后备案吗
  • 建设银行甘肃定西市分行网站wordpress数据库里面改端口
  • 眉山网站设计WordPress文章入库规则
  • 做推广哪个网站效果好c 网站开发视频教程 高清
  • 合肥建设学校官网网站作业做哪些类型的网站
  • 制作网站高手怎么买域名做企业网站
  • 北京网站建设开发迪奥官网网站做的好吗
  • 互联网门户网站是什么乡村别墅室内装修设计效果图
  • 网站和软件建站防城港装修公司口碑排行
  • 网站建设总体规划包括哪些方面自己主机做网站服务器吗
  • 苏州木渎做网站公司引航博景做的网站
  • 什么程序做的网站没有index页面小程序商城有哪些平台
  • 罗湖住房和建设局网站官网单机无网络游戏
  • 邢台做网站优化唐山网站建设方案书
  • 做购物商城网站中小企业网站制作模板
  • 哪些网站可以做企业推广大冶网站建设
  • 北京优秀网站建设山东烟台最新消息今天
  • 在线花钱做网站哪家公司建网站好
  • 米东区做网站wordpress 主题制作教程
  • 登录域名管理网站网站生成器下载
  • 江都区城乡建设局网站马局百度竞价