langchain 的向量存储

langchain 的向量存储

langchain内提供向量存储的功能,可以基于

  1. InMemoryVectorStore 完成内存向量存储
  2. chroma,外部数据库存储

向量存储类均提供三个通用接口:

  1. add_document,添加文档到向量存储
  2. delete,从向量存储中删除文档
  3. similarity_search,相似度搜索
python 复制代码
from langchain_core.vectorstores import InMemoryVectorStore
from langchain_chroma import Chroma
from langchain_community.embeddings import DashScopeEmbeddings
from langchain_community.document_loaders import CSVLoader


# vector_store = InMemoryVectorStore(    #内存向量存储
#   embedding=DashScopeEmbeddings()
# )

vector_store = Chroma(   #文件持久化存储向量数据库存储
  collection_name="test",   #当前向量存储名称
  embedding_function=DashScopeEmbeddings(),  #嵌入模型
  persist_directory="./data/chroma_langchain_db"   # 指定数据存放的文件夹 
)

loader = CSVLoader(
  file_path="/Users/apple/Desktop/agent_student/qianwen/data/info.csv",
  encoding="utf-8",
  source_column="source"   #指定本条数据来源哪里
)
document = loader.load()

new_document = vector_store.add_documents(   #添加数据
  documents = document,
  ids=["id" + str(i) for i in range(1,len(document)+1)]
)

vector_store.delete(["id1","id2"])   #删除索引

result = vector_store.similarity_search(
  "python 是什么",
  10,
  filter={"source":"黑马程序员"}
)


print(result)
相关推荐
破烂三角裤13 小时前
AI 没有记忆?我给儿童故事 Agent 搭了一套“长期记忆”系统
langchain
云和数据.ChenGuang15 小时前
光哥说Python 异常深度解析:从异常模型到工程化实践
java·前端·人工智能·python·langchain
Maiko Star19 小时前
【HM-LC】LangChain RAG查询优化详解:查询重写、混合检索与重排序实战
langchain·rag
2501_9130613419 小时前
MCP核心能力
langchain
小林ixn20 小时前
从线性 RAG 到 Agentic RAG:用 LangGraph 搭一个会判断、会纠错、会兜底的检索闭环
langchain·llm·agent
kyrie_sakura20 小时前
大模型学习19 大模型学习 - LangChain2_Retrieval(RAG-文档处理-向量处理检索-Milvus)
学习·langchain·milvus
承渊政道1 天前
【大模型应用开发:基于GPT-4和ChatGPT】(使用LangChain框架和插件增强LLM的功能)
chatgpt·langchain·llm·框架·大模型应用开发
日日大王学编程1 天前
LangGraph 基本用法详解:从入门到实战
python·语言模型·langchain
奔跑的熊猫1 天前
VSCode + FastAPI +AI Agent+langchain第一个程序
langchain·fastapi
Maiko Star1 天前
*【HM-LC】Milvus向量库详解:Collection、索引、混合检索与LangChain实战
langchain·milvus