已解决
[vectoreStore]--内存向量存储组件开发
来自网友在路上 156856提问 提问时间:2023-09-21 09:26:19阅读次数: 56
最佳答案 问答题库568位专家为你答疑解惑
vectoreStore:该组件通常用来做内存向量存储的,同时利用该存储区获取他的retrieval检索
内存向量存储使用的参数为:文档、embeddings、输出
由于他的输出分为vectoreStore向量库存储、retrieval向量检索器,因此需要拿到他的输出分别做处理
步骤:
第一步:获取值
第二步:定义类型并实例化[采用mmr做他的检索处理]
第三步:对他的输出结果分别做处理
学习链接:
https://www.langchain.com.cn/modules/prompts/example_selectors/examples/mmr
from typing import Any, Dict, Optional,List,Union
from langchain.schema import Document, BaseRetriever
from langchain.vectorstores import Chroma
from langchain.vectorstores.base import VectorStore
from langchain.embeddings.base import Embeddings
import chromadb,osclass MemoryVectorStore():def __init__(self,param_dict: Optional[Dict[str, Any]] = None):documents = param_dict.get("document")embeddings :str = param_dict.get("embeddings")if documents is None or len(documents) <= 0:raise Exception()if embeddings is None or not isinstance(embeddings, Embeddings):raise Exception()texts = []for doc in documents:if len(doc)>=1:for doc_copy in doc:doc_page = doc_copy.page_content.replace("\n","")texts.append(doc_page)self.__vectorstore = Chroma.from_documents(client=chromadb_client,documents=texts, embedding=embeddings)outputs: list = param_dict.get("outputs")self.__output = outputs['output'] if outputs is not None and 0 < len(outputs) else "retriever"def source(self) -> Optional[Union[BaseRetriever, VectorStore]]:if self.__output.lower() == "retriever".lower():retriver = self.__vectorstore.as_retriever()retriver.search_type = 'mmr'return retriverelif self.__output.lower() == "vectorStore".lower():return self.__vectorstoreelse:return None
查看全文
99%的人还看了
相似问题
- 23. 深度学习 - 多维向量自动求导
- 【腾讯云云上实验室-向量数据库】探索腾讯云向量数据库:全方位管理与高效利用多维向量数据的引领者
- 分类预测 | Matlab实现基于DBN-SVM深度置信网络-支持向量机的数据分类预测
- 【VRTK】【VR开发】【Unity】7-配置交互能力和向量追踪
- 【腾讯云云上实验室-向量数据库】TAI时代的数据枢纽-向量数据库 VectorDB
- 计算两个向量的叉积numpy.cross()
- LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索Indexes for information retrieve
- 《向量数据库指南》——什么是 向量数据库Milvus Cloud的Range Search?
- 《向量数据库指南》——亚马逊云科技向量数据库揭秘:点亮数据未来!
- 亚马逊云Amazon OpenSearch Serverless“利刃在手,‘向量’八方“
猜你感兴趣
版权申明
本文"[vectoreStore]--内存向量存储组件开发":http://eshow365.cn/6-10599-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 面向面试知识--MySQL数据库与索引
- 下一篇: 【核辐射监测】 隐私协议