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)
相关推荐
用户938515635076 小时前
从 0 到 1 搭建企业级多模态 RAG 知识库:一个装修公司的 AI 落地实战
人工智能·langchain·llm
染指11106 小时前
140.Agent-多Agent框架-Agent执行Skills流程
数据库·人工智能·设计模式·langchain·agents
敲个大西瓜7 小时前
langchain笔记(一)
redis·笔记·langchain
Maiko Star8 小时前
* LangChain中Milvus的使用指南
langchain·milvus
YIAN11 小时前
LangGraph 完全入门指南:从线性工作流到带中断恢复的有状态 Agent 编排
langchain·node.js·agent
小盆女神节奶粉12 小时前
让 Agent 在沙箱里写代码跑代码,产物进 OSS
langchain·agent
Mr_star_galaxy13 小时前
【Agent】LangChain聊天模型 -- 调用工具
人工智能·langchain
梦在远山后1 天前
通过 WSS 让 Server 安全调用 Desktop 本地工具(下01):Ticket、人工确认、幂等与断线对账
python·langchain·agent
jason.zeng@15022071 天前
(六)Prompt 优化
python·ai·langchain·prompt·ai编程·llama
jason.zeng@15022071 天前
(八)现有架构上新增一个通用Excel导出工具
python·架构·langchain·excel·llama