华为网站建设的目标是否明确网站定制合同和模版的区别
华为网站建设的目标是否明确,网站定制合同和模版的区别,几何印花图案设计网站,做盗版视频网站成本多少钱01. 多表征/向量索引多个维度记录信息 等同于为文档块生成 多个向量#xff0c;支持的方法如下#xff1a;把文档切割成更小的块#xff1a;通过检索更小的块#xff0c;但是查找其父类文档#xff08;ParentDocumentRetriever#xff09;。摘要#xff1a;使用 LLM 为每…01. 多表征/向量索引多个维度记录信息 等同于为文档块生成 多个向量支持的方法如下把文档切割成更小的块通过检索更小的块但是查找其父类文档ParentDocumentRetriever。摘要使用 LLM 为每个文档块生成一段摘要将其和原文档一起嵌入或者代替返回时返回原文档。假设性问题使用 LLM 为每个文档块生成适合回答的假设性问题将其和原文档一起嵌入或者代替返回时返回原文档。通过这种方式可以为一个文档块生成多条特征/向量在检索时能提升关联文档被检索到的概率多向量检索的运行流程其实也非常简单以 摘要文档 检索 原文档 为例运行流程图如下通过上面的运行流程可以很容易知道在 原始文档 和 摘要文档 中都在元数据中设置了 唯一标识从向量数据库中找到符合规则的数据后通过查找其 元数据 的唯一标识即可在 文档数据库 中匹配出原文档完成整个多表征/向量的检索。02. 多向量索引示例在 LangChain 中为多向量索引的集成封装了 MultiVectorRetriever 类实例化该类只需要传递 向量数据库、字节存储数据库(文档数据库)、id标识(关联标识) 即可快速完成整个运行流程的集成。以 FAISS向量数据库 和 本地文件存储库 为例构建一个 存储摘要-检索原文 的优化策略代码示例如下import uuidimport dotenvfrom langchain.retrievers import MultiVectorRetrieverfrom langchain.storage import LocalFileStorefrom langchain_community.document_loaders import UnstructuredFileLoaderfrom langchain_community.vectorstores import FAISSfrom langchain_core.documents import Documentfrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_openai import ChatOpenAI, OpenAIEmbeddingsfrom langchain_text_splitters import RecursiveCharacterTextSplitterdotenv.load_dotenv()# 1.创建加载器、文本分割器并处理文档loader UnstructuredFileLoader(./电商产品数据.txt)text_splitter RecursiveCharacterTextSplitter(chunk_size500, chunk_overlap50)docs loader.load_and_split(text_splitter)# 2.定义摘要生成链summary_chain ({doc: lambda x: x.page_content}| ChatPromptTemplate.from_template(总结以下文档的内容: \n\n{doc})| ChatOpenAI(modelgpt-3.5-turbo-16k, temperature0)| StrOutputParser())# 3.批量生成摘要与唯一标识summaries summary_chain.batch(docs, {max_concurrency: 5})doc_ids [str(uuid.uuid4()) for _ in enumerate(docs)]# 4.构建摘要文档summary_docs [Document(page_contentsummary, metadata{doc_id: doc_ids[idx]})for idx, summary in enumerate(summaries)]# 5.构建文档数据库与向量数据库byte_store LocalFileStore(./multy-vector)db FAISS.from_documents(summary_docs,embeddingOpenAIEmbeddings(modeltext-embedding-3-small),)# 6.构建多向量检索器retriever MultiVectorRetriever(vectorstoredb,byte_storebyte_store,id_keydoc_id,)# 7.将摘要文档和原文档存储到数据库中retriever.docstore.mset(list(zip(doc_ids, docs)))# 8.执行检索search_docs retriever.invoke(推荐一些潮州特产?)print(search_docs)print(len(search_docs))输出内容[Document(metadata{source: ./电商产品数据.txt}, page_content产品名称: 潮汕鱼丸\n\n电商网址: shop.example.com/fishballs\n\n产品描述: 潮汕鱼丸采用新鲜鱼肉加入少量淀粉和调味料手工捶打成丸Q弹爽滑鱼香浓郁。\n\n产品特点:\n\n原材料: 新鲜鱼肉、淀粉、盐、胡椒粉\n\n制作工艺: 传统手工捶打\n\n口感: Q弹爽滑鲜美可口\n\n净重: 500克/袋、1000克/袋\n\n保质期: 6个月冷冻保存\n\n发货方式: 顺丰冷链配送确保新鲜\n\n物流信息: 24小时内发货预计2\n\n3天到货\n\n推荐菜系:\n\n鱼丸火锅: 搭配各类蔬菜、菌类煮至鱼丸浮起即可。\n\n鱼丸煮汤: 与蔬菜同煮味道鲜美。\n\n价格:\n\n500克: 55元/袋\n\n1000克: 100元/袋\n\n6. 潮汕豆腐花\n\n产品名称: 潮汕豆腐花\n\n电商网址: shop.example.com/tofupudding\n\n产品描述: 潮汕豆腐花使用优质黄豆传统工艺制作质地细腻入口即化豆香浓郁。\n\n产品特点:\n\n原材料: 黄豆、水、石膏\n\n制作工艺: 传统手工点浆\n\n口感: 细腻嫩滑豆香浓郁\n\n净重: 450克/盒\n\n保质期: 5天冷藏保存), Document(metadata{source: ./电商产品数据.txt}, page_content产品特点:\n\n原材料: 猪后腿肉、香料、盐、糖\n\n制作工艺: 精细切割手工卷制\n\n口感: 鲜嫩多汁咸香可口\n\n净重: 400克/袋、800克/袋\n\n保质期: 3个月冷冻保存\n\n发货方式: 顺丰冷链配送确保新鲜\n\n物流信息: 24小时内发货预计2\n\n3天到货\n\n推荐菜系:\n\n猪肉卷煎烤: 切片后煎至金黄外脆里嫩。\n\n猪肉卷炖煮: 切块后与蔬菜同炖风味更佳。\n\n价格:\n\n400克: 58元/袋\n\n800克: 108元/袋\n\n3. 潮汕三宝酱油、甜醋、虾酱\n\n产品名称: 潮汕三宝\n\n电商网址: shop.example.com/chaoshanthree\n\n产品描述: 潮汕三宝包含酱油、甜醋和虾酱。酱油由大豆、麦子自然发酵而成甜醋以糯米酿制虾酱选用新鲜海虾发酵是潮汕菜肴必备调味品。\n\n产品特点:\n\n酱油: 大豆、麦子自然发酵500ml/瓶\n\n甜醋: 糯米酿制500ml/瓶\n\n虾酱: 新鲜海虾发酵200克/瓶\n\n保质期: 酱油和甜醋12个月虾酱6个月\n\n发货方式: 顺丰配送确保完好\n\n物流信息: 24小时内发货预计2\n\n3天到货\n\n推荐菜系:), Document(metadata{source: ./电商产品数据.txt}, page_content口感: 鲜嫩多汁味道浓郁\n\n净重: 500克/袋、1000克/袋\n\n保质期: 3个月冷冻保存\n\n发货方式: 顺丰冷链配送确保新鲜\n\n物流信息: 24小时内发货预计2\n\n3天到货\n\n推荐菜系:\n\n红烧狮子头: 加热后直接食用适合作为主菜。\n\n狮子头炖菜: 与蔬菜同炖味道更佳。\n\n价格:\n\n500克: 60元/袋\n\n1000克: 110元/袋\n\n10. 潮汕香菇肉酱\n\n产品名称: 潮汕香菇肉酱\n\n电商网址: shop.example.com/mushroomsauce\n\n产品描述: 潮汕香菇肉酱采用香菇和猪肉为主要原料加入特制酱料炒制而成香气扑鼻味道鲜美。\n\n产品特点:\n\n原材料: 香菇、猪肉、酱料\n\n制作工艺: 精细切割炒制均匀\n\n口感: 鲜香可口酱香浓郁\n\n净重: 200克/瓶、400克/瓶\n\n保质期: 6个月常温保存\n\n发货方式: 顺丰配送确保完好\n\n物流信息: 24小时内发货预计2\n\n3天到货\n\n推荐菜系:\n\n拌饭: 加入米饭中提升口感。\n\n拌面: 加入面条中风味独特。\n\n价格:\n\n200克: 35元/瓶\n\n400克: 65元/瓶), Document(metadata{source: ./电商产品数据.txt}, page_content口感: 细腻嫩滑豆香浓郁\n\n净重: 450克/盒\n\n保质期: 5天冷藏保存\n\n发货方式: 顺丰冷链配送确保新鲜\n\n物流信息: 24小时内发货预计2\n\n3天到货\n\n推荐菜系:\n\n甜食: 加糖水、红豆、芝麻食用。\n\n咸食: 加入虾米、葱花、酱油食用。\n\n价格: 25元/盒\n\n7. 潮汕鱼露\n\n产品名称: 潮汕鱼露\n\n电商网址: shop.example.com/fishsauce\n\n产品描述: 潮汕鱼露以新鲜小鱼为原料经过发酵、过滤而成味道鲜美是潮汕菜肴必备调味品。\n\n产品特点:\n\n原材料: 小鱼、盐\n\n制作工艺: 自然发酵传统工艺\n\n口感: 鲜美咸香\n\n净重: 500ml/瓶\n\n保质期: 12个月\n\n发货方式: 顺丰配送确保完好\n\n物流信息: 24小时内发货预计2\n\n3天到货\n\n推荐菜系:\n\n凉拌菜: 作为调味料使用提升菜肴鲜味。\n\n炒菜: 适合炒菜提鲜。\n\n价格: 38元/瓶\n\n8. 潮汕糯米肠\n\n产品名称: 潮汕糯米肠\n\n电商网址: shop.example.com/glutinousrice)]4除了使用 摘要 来检索全文多向量检索一般还适用于 子文档检索父文档 和 假设性查询检索其中 假设性查询检索 是利用 LLM 对切块后的文档生成多个 假设性标题在向量数据库中存储 假设性标题 文档块使用检索到的数据查找 原始文档。核心代码修正如下from typing import Listimport dotenvfrom langchain_core.documents import Documentfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.pydantic_v1 import BaseModel, Fieldfrom langchain_openai import ChatOpenAIdotenv.load_dotenv()class HypotheticalQuestions(BaseModel):生成假设性问题questions: List[str] Field(description假设性问题列表类型为字符串列表,)# 1.构建一个生成假设性问题的promptprompt ChatPromptTemplate.from_template(生成一个包含3个假设性问题的列表这些问题可以用于回答下面的文档:\n\n{doc})# 2.创建大语言模型并绑定对应的规范化输出结构llm ChatOpenAI(modelgpt-3.5-turbo-16k, temperature0)structured_llm llm.with_structured_output(HypotheticalQuestions)# 3.创建链应用chain ({doc: lambda x: x.page_content}| prompt| structured_llm)hypothetical_questions: HypotheticalQuestions chain.invoke(Document(page_content我叫好好我喜欢打篮球游泳))print(hypothetical_questions)输出内容questions[如果你不能打篮球你会选择什么运动, 如果你不能游泳你会选择什么运动, 如果你不能进行任何体育运动你会选择什么爱好]接下来针对每个文档生成的 假设性查询 创建 Document列表并添加 doc_id添加到向量数据库中并将 doc_id 与原始文档进行绑定存储到 文档数据库/字节数据库 即可。