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

网站维护什么情况o2o网站建设要多少钱

网站维护什么情况,o2o网站建设要多少钱,定制开发产品,大连小程序制作开发前言 向量存储和检索器支持从(向量)数据库和其他来源检索数据,以便与大型语言模型工作流集成。它们对于获取数据以进行推理的应用程序非常重要,例如在检索增强生成(RAG)的情况下。 目录 前言 一、环境篇 …

前言

向量存储和检索器支持从(向量)数据库和其他来源检索数据,以便与大型语言模型工作流集成。它们对于获取数据以进行推理的应用程序非常重要,例如在检索增强生成(RAG)的情况下。

目录

前言

 一、环境篇

二、文档

三、向量存储

四、检索器

五、一个简单的RAG案例


 一、环境篇

pip install langchain langchain-chroma langchain-openai

准备大模型apikey(本文基于硅基流动提供的apikey)

硅基流动用户系统,统一登录 SSO

model.py

from langchain_openai import ChatOpenAI
from langchain_openai import OpenAIEmbeddings# 1、创建模型
model = ChatOpenAI(model='Pro/deepseek-ai/DeepSeek-V3',base_url="https://api.siliconflow.cn/v1/",api_key="sk-xxx"
)emb =OpenAIEmbeddings(model="BAAI/bge-m3",base_url="https://api.siliconflow.cn/v1/",api_key="sk-xxx"
)

二、文档

angChain 实现了一个 文档 抽象,旨在表示一个文本单元及其相关元数据。它有两个属性:

  • page_content:一个表示内容的字符串;
  • metadata:一个包含任意元数据的字典。

metadata 属性可以捕获有关文档来源、与其他文档的关系以及其他信息。请注意,单个 Document 对象通常表示一个较大文档的一部分。

以下是一个文档的示例

from langchain_core.documents import Documentdocuments = [Document(page_content="Dogs are great companions, known for their loyalty and friendliness.",metadata={"source": "mammal-pets-doc"},),Document(page_content="Cats are independent pets that often enjoy their own space.",metadata={"source": "mammal-pets-doc"},),Document(page_content="Goldfish are popular pets for beginners, requiring relatively simple care.",metadata={"source": "fish-pets-doc"},),Document(page_content="Parrots are intelligent birds capable of mimicking human speech.",metadata={"source": "bird-pets-doc"},),Document(page_content="Rabbits are social animals that need plenty of space to hop around.",metadata={"source": "mammal-pets-doc"},),
]

三、向量存储

量搜索是一种常见的存储和搜索非结构化数据(例如非结构化文本)的方法。其思想是存储与文本相关联的数值向量。给定一个查询,我们可以将其 嵌入 为相同维度的向量,并使用向量相似性度量来识别存储中的相关数据。

LangChain 向量存储 对象包含用于将文本和 文档 对象添加到存储中以及使用各种相似性度量进行查询的方法。它们通常使用 嵌入 模型进行初始化,这决定了文本数据如何转换为数值向量。

LangChain 包含与不同向量存储技术的 集成 套件。一些向量存储由提供商(例如各种云提供商)托管,并需要特定的凭据才能使用;一些(如 Postgres)在可以本地运行或通过第三方运行的独立基础设施中运行;其他可以在内存中运行以处理轻量级工作负载。这里我们将演示使用 Chroma 的 LangChain 向量存储,它包括一个内存实现。

要实例化一个向量存储,我们通常需要提供一个 嵌入 模型,以指定文本应如何转换为数值向量。这里我们将使用 OpenAI 嵌入。

from langchain_core.documents import Documentfrom langchain_chroma import Chroma
from langchain_openai import OpenAIEmbeddings
from model import model, embdocuments = [Document(page_content="Dogs are great companions, known for their loyalty and friendliness.",metadata={"source": "mammal-pets-doc"},),Document(page_content="Cats are independent pets that often enjoy their own space.",metadata={"source": "mammal-pets-doc"},),Document(page_content="Goldfish are popular pets for beginners, requiring relatively simple care.",metadata={"source": "fish-pets-doc"},),Document(page_content="Parrots are intelligent birds capable of mimicking human speech.",metadata={"source": "bird-pets-doc"},),Document(page_content="Rabbits are social animals that need plenty of space to hop around.",metadata={"source": "mammal-pets-doc"},),
]vectorstore = Chroma.from_documents(documents,embedding=emb,
)
#根据与字符串查询的相似性返回文档:
similarity = vectorstore.similarity_search("cat")
print("相似性查询:", similarity)
#返回分数:
score = vectorstore.similarity_search_with_score("cat")
print("相似性分数", score)
#根据与嵌入查询的相似性返回文档:
embedding = emb.embed_query("cat")
search_by_vector = vectorstore.similarity_search_by_vector(embedding)
print("根据与嵌入查询的相似性返回文档", search_by_vector)

相似性查询: [Document(id='a9a53586-732f-4cdf-859c-1dccda1a823a', metadata={'source': 'mammal-pets-doc'}, page_content='Rabbits are social animals that need plenty of space to hop around.'), Document(id='ff0ad8cc-3bd1-4ca9-835a-629d90019f25', metadata={'source': 'bird-pets-doc'}, page_content='Parrots are intelligent birds capable of mimicking human speech.'), Document(id='c6b774fc-3dea-4d02-9981-d8fee828084d', metadata={'source': 'mammal-pets-doc'}, page_content='Dogs are great companions, known for their loyalty and friendliness.'), Document(id='022afbe9-3f7f-4b63-9370-db16f11ca2aa', metadata={'source': 'mammal-pets-doc'}, page_content='Cats are independent pets that often enjoy their own space.')]
相似性分数 [(Document(id='a9a53586-732f-4cdf-859c-1dccda1a823a', metadata={'source': 'mammal-pets-doc'}, page_content='Rabbits are social animals that need plenty of space to hop around.'), 0.785333514213562), (Document(id='ff0ad8cc-3bd1-4ca9-835a-629d90019f25', metadata={'source': 'bird-pets-doc'}, page_content='Parrots are intelligent birds capable of mimicking human speech.'), 0.8099995851516724), (Document(id='c6b774fc-3dea-4d02-9981-d8fee828084d', metadata={'source': 'mammal-pets-doc'}, page_content='Dogs are great companions, known for their loyalty and friendliness.'), 0.8387392163276672), (Document(id='022afbe9-3f7f-4b63-9370-db16f11ca2aa', metadata={'source': 'mammal-pets-doc'}, page_content='Cats are independent pets that often enjoy their own space.'), 0.858168363571167)]
根据与嵌入查询的相似性返回文档 [Document(id='a9a53586-732f-4cdf-859c-1dccda1a823a', metadata={'source': 'mammal-pets-doc'}, page_content='Rabbits are social animals that need plenty of space to hop around.'), Document(id='ff0ad8cc-3bd1-4ca9-835a-629d90019f25', metadata={'source': 'bird-pets-doc'}, page_content='Parrots are intelligent birds capable of mimicking human speech.'), Document(id='c6b774fc-3dea-4d02-9981-d8fee828084d', metadata={'source': 'mammal-pets-doc'}, page_content='Dogs are great companions, known for their loyalty and friendliness.'), Document(id='022afbe9-3f7f-4b63-9370-db16f11ca2aa', metadata={'source': 'mammal-pets-doc'}, page_content='Cats are independent pets that often enjoy their own space.')]
 

四、检索器

LangChain VectorStore 对象不继承 Runnable,因此无法立即集成到 LangChain 表达式 chains 中。

LangChain 检索器 是 Runnables,因此它们实现了一组标准方法(例如,同步和异步的 invoke 和 batch 操作),并设计为可以纳入 LCEL 链中。

向量存储实现了一个 as_retriever 方法,该方法将生成一个检索器,特别是一个 VectorStoreRetriever。这些检索器包括特定的 search_type 和 search_kwargs 属性,用于识别调用底层向量存储的方法,以及如何对其进行参数化。

from langchain_core.documents import Document
from langchain_core.runnables import RunnableLambdafrom langchain_chroma import Chroma
from langchain_openai import OpenAIEmbeddings
from model import model, embdocuments = [Document(page_content="Dogs are great companions, known for their loyalty and friendliness.",metadata={"source": "mammal-pets-doc"},),Document(page_content="Cats are independent pets that often enjoy their own space.",metadata={"source": "mammal-pets-doc"},),Document(page_content="Goldfish are popular pets for beginners, requiring relatively simple care.",metadata={"source": "fish-pets-doc"},),Document(page_content="Parrots are intelligent birds capable of mimicking human speech.",metadata={"source": "bird-pets-doc"},),Document(page_content="Rabbits are social animals that need plenty of space to hop around.",metadata={"source": "mammal-pets-doc"},),
]vectorstore = Chroma.from_documents(documents,embedding=emb,
)
# #根据与字符串查询的相似性返回文档:
# similarity = vectorstore.similarity_search("cat")
# print("相似性查询:", similarity)
# #返回分数:
# score = vectorstore.similarity_search_with_score("cat")
# print("相似性分数", score)
# #根据与嵌入查询的相似性返回文档:
# embedding = emb.embed_query("cat")
# search_by_vector = vectorstore.similarity_search_by_vector(embedding)
# print("根据与嵌入查询的相似性返回文档", search_by_vector)retriever = vectorstore.as_retriever(search_type="similarity",search_kwargs={"k": 1},
)
result = retriever.batch(["cat", "shark"])
print(result)

[[Document(id='a2b6ecfa-873b-4110-9e81-5c74b456e999', metadata={'source': 'mammal-pets-doc'}, page_content='Rabbits are social animals that need plenty of space to hop around.')], [Document(id='56fab89d-8313-490a-b2a8-54ea593b955c', metadata={'source': 'mammal-pets-doc'}, page_content='Dogs are great companions, known for their loyalty and friendliness.')]]
 

五、一个简单的RAG案例

检索器可以轻松地纳入更复杂的应用程序,例如检索增强生成(RAG)应用程序,这些应用程序将给定问题与检索到的上下文结合成 LLM 的提示。

from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_core.documents import Document
from langchain_chroma import Chroma
from langchain_core.output_parsers import StrOutputParserfrom model import model, embdocuments = [Document(page_content="Dogs are great companions, known for their loyalty and friendliness.",metadata={"source": "mammal-pets-doc"},),Document(page_content="Cats are independent pets that often enjoy their own space.",metadata={"source": "mammal-pets-doc"},),Document(page_content="Goldfish are popular pets for beginners, requiring relatively simple care.",metadata={"source": "fish-pets-doc"},),Document(page_content="Parrots are intelligent birds capable of mimicking human speech.",metadata={"source": "bird-pets-doc"},),Document(page_content="Rabbits are social animals that need plenty of space to hop around.",metadata={"source": "mammal-pets-doc"},),
]vectorstore = Chroma.from_documents(documents,embedding=emb,
)retriever = vectorstore.as_retriever(search_type="similarity",search_kwargs={"k": 1},
)message = """
Answer this question using the provided context only.{question}Context:
{context}
"""prompt = ChatPromptTemplate.from_messages([("human", message)])rag_chain = {"context": retriever, "question": RunnablePassthrough()} | prompt | modelresponse = rag_chain.invoke("tell me about cats")print(response.content)

Based on the provided context, there is no information about cats. The context only mentions dogs and their characteristics as loyal and friendly companions. 

Would you like me to search for information about cats from another source?


文章转载自:

http://i5PfBAye.hgscb.cn
http://PK8R8Oj5.hgscb.cn
http://m6AgPQ2h.hgscb.cn
http://v7wiict8.hgscb.cn
http://q5TZ04Zo.hgscb.cn
http://3sqqwSVv.hgscb.cn
http://WY5J3HGV.hgscb.cn
http://b2Etb4ZD.hgscb.cn
http://3D5XDp8y.hgscb.cn
http://HxEpQ23c.hgscb.cn
http://6jlmqAYv.hgscb.cn
http://43SqMg2A.hgscb.cn
http://T41qaegG.hgscb.cn
http://Ej7HYKzZ.hgscb.cn
http://b16EtGWa.hgscb.cn
http://9BGvIpMJ.hgscb.cn
http://16jjqZo8.hgscb.cn
http://A4NkFqpv.hgscb.cn
http://rFCzRA1j.hgscb.cn
http://yJyHG4GK.hgscb.cn
http://Hpew2xi9.hgscb.cn
http://fyc7rR7x.hgscb.cn
http://Q1eQeeRA.hgscb.cn
http://8OXl4480.hgscb.cn
http://dNqQijKA.hgscb.cn
http://zVf1lhEW.hgscb.cn
http://699cbvoY.hgscb.cn
http://k6K3jBd6.hgscb.cn
http://q06NfoZE.hgscb.cn
http://BVNvF164.hgscb.cn
http://www.dtcms.com/wzjs/696913.html

相关文章:

  • 山东省建设局注册中心网站wordpress怎么引用single
  • 微信官方网站开发天水模板型网站建设
  • 万网如何建设网站阳江房价
  • 建设收费网站网站幻灯片尺寸设置
  • c语言除了做网站还能干什么网站建设与管理就业去向
  • nginx 网站正在建设中茂名网站建设服务
  • 网站推广如何指定关键词优化网站做收付款接口
  • 网站建设数据中心kn95口罩
  • 东莞商城网站建设价格软件专业
  • 建设网站需要营业执照吗百度小程序如何做网站
  • 小说网站开发的看书软件网站建设电销话术范文
  • 国人在线做网站怎么样成都网站登记备案查询
  • 游网站建设方案内容网站建设一六八互联
  • 个人做分类信息网站响应式网站 价格
  • 三里河网站建设网站开发方案服装网站简介
  • 建立公司网站的流程山东省临沂建设局网站
  • 快速提升网站关键词排名wordpress速度很慢
  • 网站模板库wordpress一键分享代码
  • 贵州住房与城乡建设部网站公司备案网站被注销吗
  • 用ps做企业网站分辨率是多少钱陶瓷网站制作
  • 前端网站论文北京企业网站开发
  • 个门户网站logo123
  • 热搜词工具长宁哪里有做网站优化比较好
  • 网站内链规划福州网站建设费用
  • 成都网站建设开上海好的高端网站建设服务公司
  • 专业柳州网站建设哪家好天津建设工程信息网招标公告
  • 网站首页的概念wordpress未收到验证码
  • 祈网网站建设网络营销推广的说辞
  • 创建网站做搞笑视频做网上夫妻去哪个网站
  • 摄影网站app网站建设如何提高转化率