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)
相关推荐
XGeFei12 小时前
【Skills:SQL Assistant】
人工智能·langchain
_夜半钟声到客船14 小时前
面试官:LangSmith 和 LangFuse 区别?我:先讲 OpenTelemetry 标准,他沉默了
人工智能·ai·langchain·可用性测试
多多鼠16 小时前
System Prompt 的“版本漂移”问题:从变更管理到 A/B 测试体系
开发语言·网络·人工智能·python·langchain
梦在远山后16 小时前
从最小 Agent 循环到研发闭环:DevMind v0.1 的渐进式落地路线
langchain·agent
梦在远山后17 小时前
手写一个最小 Agent Loop:模型、工具与停止条件
langchain·agent
minji...17 小时前
LangChain AI应用开发框架核心组件的使用 - 输出解析器组件的使用 : 输出解析器的三种解析方式 : 文本解析、结构化对象解析、JSON 解析
langchain
梦影_17 小时前
Langchain简单快速上手教程(五)——聊天模型之流式传输
java·数据库·人工智能·python·langchain
小叶肥辉18 小时前
LangChain链和LangGraph图的学习笔记【六】——提示语模板(3)——Few-Shot Prompting(少样本提示) 模板类
笔记·python·学习·langchain·prompt·aigc
hyunbar1 天前
LangChain 实战:玩转短期记忆
langchain·agent·harness
带鱼吃猫1 天前
LangGraph入门:搭建智能快递配送系统AI工作流
人工智能·langchain