为什么说 Vector Database 是 Agent 长期记忆的必选项?
深入剖析:为什么向量数据库是大模型Agent长期记忆的必选项?
引言
你有没有过这样的经历:和ChatGPT聊了半小时,告诉它你对猫毛过敏、乳糖不耐受、下周要去杭州出差,过了10轮对话再问它“我适合喝什么奶茶?出差需要注意什么?”,它早就把你说过的信息忘得一干二净,还给你推荐加奶的珍珠奶茶、让你去杭州撸猫馆打卡?这就是当前大模型Agent最核心的痛点之一:没有可靠的长期记忆能力。
随着大模型技术的爆发,Agent已经从概念验证走向大规模落地:从个人助理、客服机器人,到企业级的销售Agent、研发Agent、运维Agent,甚至自动驾驶的决策Agent,所有Agent都需要一个能永久存储、精准召回、跨会话同步的记忆系统。而在所有可选的存储方案中,向量数据库已经成为行业公认的Agent长期记忆的必选项,甚至有人说“向量数据库就是Agent的海马体”。
本文将从Agent记忆的本质、向量数据库的核心原理、不同存储方案的对比、落地实操案例等多个维度,深入拆解为什么向量数据库是Agent长期记忆的唯一最优解,同时会给出可直接运行的代码Demo、最佳实践和未来趋势判断,全文约10000字,适合所有对Agent、RAG、向量数据库感兴趣的开发者和产品经理阅读。
一、核心概念:Agent记忆体系与向量数据库的本质
1.1 Agent的三层记忆模型
我们可以把Agent的记忆体系和人类的记忆做一个完美的类比,总共分为三层,不同层级的记忆有完全不同的特性和存储需求:
| 记忆类型 | 对应人类记忆 | 存储位置 | 容量上限 | 保留时间 | 检索方式 | 核心需求 |
|---|---|---|---|---|---|---|
| 瞬时记忆 | 感官记忆 | 大模型推理缓存 | <1K Token | 毫秒级-秒级 | 直接读取 | 极低延迟,无需持久化 |
| 短期记忆 | 工作记忆 | 大模型上下文窗口 | 4K-200K Token | 单次会话 | 上下文直接调度 | 高速读写,支持动态更新 |
| 长期记忆 | 永久记忆 | 外部存储系统 | 无上限 | 永久/自定义过期 | 语义检索+结构化过滤 | 高可靠持久化、语义召回能力、高扩展、低延迟 |
我们今天讨论的“长期记忆”,就是指Agent需要跨会话、跨设备保留的所有信息:包括和用户的历史交互记录、学习过的文档知识、工具调用的结果、自主探索得到的经验等等。这部分记忆的特点是:数据量无上限、非结构化占比超过90%、需要根据语义精准召回、需要支持动态增删改。
长期记忆的核心需求拆解
要支撑Agent的长期记忆,存储系统必须满足以下8个核心要求:
- 语义检索能力:不需要精确匹配关键字,能根据用户意图召回语义相关的记忆,比如用户问“我之前说过我对什么过敏?”,能精准找到几个月前提到的“对猫毛过敏”的记录;
- 高维向量存储与检索能力:非结构化数据(文本、图片、音频、视频)需要转成数百到数千维的向量存储,系统需要支持高效的相似性检索;
- 低延迟:Agent的交互需要接近人类的响应速度,检索记忆的延迟必须控制在100ms以内,不能影响用户体验;
- 可扩展性:企业级Agent可能需要存储数十亿条记忆,系统需要支持水平扩展,性能不会随着数据量增长而下降;
- 混合检索能力:支持“语义相似性+结构化过滤”的组合查询,比如“检索最近7天和用户张三聊的关于云服务器退款的历史记录”;
- 多模态支持:可以存储文本、图片、音频等不同模态的向量,统一检索;
- 生态兼容性:原生支持主流的Agent框架(LangChain、LlamaIndex、AutoGPT等),不需要额外开发对接逻辑;
- 高可靠与多租户:企业级场景需要支持数据持久化、备份恢复、多租户权限隔离,避免记忆泄露。
1.2 向量数据库的核心原理
向量数据库是专门为高维稠密向量设计的存储与检索系统,它的核心逻辑可以用一句话概括:把非结构化数据转成语义向量,通过高效的向量索引实现毫秒级的相似性检索。
向量的生成:Embedding技术
所有非结构化数据要存入向量数据库,首先要经过Embedding模型的转换:把文本、图片、音频等内容映射成一个固定维度的稠密向量,比如OpenAI的text-embedding-ada-002会把任意长度的文本转成1536维的向量,两个语义相似的内容对应的向量在高维空间中的距离也会更近。
常见的相似性度量算法有三种:
- 余弦相似度:衡量两个向量的方向相似性,取值范围[-1,1],值越大越相似,适合文本语义匹配场景:
cosine similarity(u,v)=u⋅v∣∣u∣∣2∣∣v∣∣2\text{cosine similarity}(u,v) = \frac{u \cdot v}{||u||_2 ||v||_2}cosine similarity(u,v)=∣∣u∣∣2∣∣v∣∣2u⋅v - 欧氏距离:衡量两个向量在高维空间中的绝对距离,值越小越相似,适合图像、语音等场景:
d(u,v)=∑i=1d(ui−vi)2d(u,v) = \sqrt{\sum_{i=1}^d (u_i - v_i)^2}d(u,v)=i=1∑d(ui−vi)2 - 内积:衡量两个向量的投影相似性,适合推荐系统场景。
向量数据库的核心组成
向量数据库和传统数据库的核心区别在于索引引擎,它的核心架构分为五层:
- API层:提供RESTful API、SDK,对接各类Agent框架和大模型应用;
- 查询引擎:负责解析查询请求,调度索引引擎和存储引擎,支持混合检索;
- 索引引擎:实现各类向量索引算法(HNSW、IVF、PQ等),是高性能检索的核心;
- 存储引擎:负责向量数据、结构化元数据的持久化存储,支持多副本、高可用;
- 生态对接层:原生对接Embedding模型、大模型、Agent框架、RAG工具链。
向量数据库的核心工作流程可以用下面的mermaid流程图表示:
二、问题背景:Agent长期记忆的痛点与传统方案的局限性
2.1 问题背景:为什么大模型本身做不了长期记忆?
很多人会问:现在大模型的上下文窗口越来越大,GPT-4 Turbo支持128K,Claude 3 Opus支持200K,甚至有的开源模型支持1M上下文,直接把所有历史记忆都塞到上下文里不行吗?为什么还需要额外的存储系统?
答案很简单:成本太高、准确率太低、容量有限。
- 成本问题:128K上下文的GPT-4 Turbo调用一次的成本约0.1美元,如果你每次都把10万Token的历史塞到上下文里,单轮调用成本是检索向量数据库的1000倍以上,企业级场景根本扛不住;
- 准确率问题:大模型存在严重的“Lost in the Middle”问题,上下文长度超过32K之后,中间的内容召回率会下降到60%以下,很多关键记忆会被忽略,反而不如检索增强的方式准确率高;
- 容量问题:就算上下文窗口到了1M,也只能存约70万字的内容,企业级Agent需要存储几个月甚至几年的交互记录、TB级的文档知识,上下文窗口永远装不下。
2.2 传统存储方案的局限性
在向量数据库普及之前,开发者尝试过用各类传统存储系统做Agent的长期记忆,但都存在不可逾越的短板,我们做一个完整的对比:
| 存储方案 | 语义检索能力 | 高维向量检索性能 | 亿级向量支持 | 混合检索 | 多模态支持 | 生态适配 | 运维成本 | 核心短板 |
|---|---|---|---|---|---|---|---|---|
| 关系型数据库(MySQL/PostgreSQL) | 仅支持关键字匹配,需要自行实现向量检索 | 全表扫描,100万条1536维向量检索延迟>5s,QPS<10 | 不支持 | 支持结构化过滤,无向量检索 | 不支持 | 差 | 中 | 向量检索性能极差,无法满足线上需求 |
| KV数据库(Redis) | 仅支持精确Key匹配 | 不支持向量检索 | 不支持 | 不支持 | 不支持 | 差 | 低 | 无法实现语义检索,只能按Key查询 |
| 文档数据库(MongoDB) | 内置基础向量索引,效果差 | 100万条向量检索延迟>1s,QPS<100 | 不支持 | 支持基础混合检索 | 不支持 | 差 | 中 | 向量索引性能差,无高级检索能力,不支持大规模扩展 |
| 开源向量检索库(FAISS/Annoy) | 支持语义检索 | 1亿条向量检索延迟<100ms,QPS>1000 | 支持(内存足够的前提下) | 不支持结构化过滤 | 支持 | 差 | 高 | 仅支持内存索引,无持久化,不支持动态增删改,无分布式能力 |
| 专用向量数据库(Pinecone/Milvus/Qdrant) | 原生支持语义检索 | 1亿条向量检索延迟<50ms,QPS>5000 | 原生支持分布式扩展 | 原生支持混合检索 | 原生支持多模态 | 原生对接所有Agent框架 | 低(云服务免运维) | 无明显短板,完全匹配长期记忆需求 |
从上面的对比可以清晰看到:传统存储方案都存在至少一个核心短板,完全无法满足Agent长期记忆的8个核心需求,只有专用向量数据库能全部覆盖。
三、问题解决:向量数据库如何完美匹配Agent长期记忆的需求?
我们从8个核心需求逐一拆解,向量数据库为什么是最优解:
3.1 原生支持高维向量的高效检索
向量数据库的核心竞争力就是专门为高维向量设计的索引算法,目前主流的HNSW(层次化导航小世界)索引的时间复杂度是O(logn)O(\log n)O(logn),1亿条1536维向量的检索延迟可以控制在50ms以内,召回率超过95%,完全满足线上交互的性能要求。
HNSW的核心原理是模拟高速公路网络:构建多层的图结构,上层是稀疏的“高速通道”,用来快速缩小检索范围,下层是稠密的连接,用来精准查找最近邻节点,检索流程可以用下面的mermaid流程图表示:
3.2 支持混合检索,适配复杂记忆查询场景
Agent的记忆检索几乎都不是单纯的语义检索,需要结合结构化过滤条件,比如:
- 客服Agent:“检索最近3天用户李四投诉订单的历史记录”
- 销售Agent:“检索我上周拜访过的北京地区的客户的需求记录”
- 运维Agent:“检索最近24小时支付模块的异常日志相关的排障记录”
向量数据库原生支持“向量相似性检索 + 结构化字段过滤”的混合查询,你可以把时间、用户ID、业务类型、标签等结构化字段作为过滤条件,和语义检索结合,精准召回需要的记忆。
3.3 生态深度适配,开箱即用
目前所有主流的Agent框架(LangChain、LlamaIndex、AutoGPT、Dify等)、低代码AI平台、大模型服务都原生对接了主流向量数据库,你不需要写一行对接代码,只需要配置好向量数据库的API Key,就能直接把它作为Agent的记忆模块,开发效率提升10倍以上。
3.4 多模态记忆支持
现在的Agent已经不再是单纯的文本Agent,多模态Agent已经成为主流:比如客服Agent需要存储用户上传的截图、语音记录,自动驾驶Agent需要存储摄像头、激光雷达的传感器数据,教育Agent需要存储课程视频、PPT等内容。向量数据库可以存储不同模态的Embedding向量,支持跨模态检索,比如用文本“用户上传的支付失败截图”检索对应的图片记忆。
3.5 无限扩展能力
向量数据库普遍采用分布式架构,支持水平扩展,你只需要增加节点就能支撑数十亿甚至上百亿条向量的存储与检索,性能不会随着数据量增长而下降,完全满足企业级Agent的大规模存储需求。
3.6 完善的记忆管理能力
向量数据库原生支持各类记忆管理功能:
- TTL自动过期:可以给记忆设置过期时间,比如临时会话的记忆7天后自动删除,不需要手动清理;
- 增量更新:Agent每次交互完可以直接把新的记忆写入向量数据库,不需要全量重建索引,更新延迟<1s;
- 版本控制:支持记忆的版本管理,可以回溯历史记忆的变更;
- 多租户隔离:企业级场景可以给不同用户、不同业务的记忆分配独立的Namespace/Partition,避免跨用户的记忆泄露。
四、概念关系:Agent与向量数据库的交互架构
Agent和向量数据库的交互可以用下面的mermaid架构图清晰表示,向量数据库已经成为Agent工作流中不可缺少的核心组件:
从架构图可以看到:向量数据库完全承接了Agent的所有长期记忆的存储和检索请求,是Agent和历史经验之间的唯一接口,相当于人类大脑的海马体,负责把短期记忆转化为长期记忆,需要的时候精准召回。
五、实践落地:基于向量数据库搭建带长期记忆的Agent
我们来做一个可直接运行的Demo,用LangChain + Qdrant(开源向量数据库) + OpenAI大模型,实现一个能记住用户偏好的个人助理Agent。
5.1 环境准备
安装依赖
pip install langchain langchain-openai qdrant-client python-dotenv
本地启动Qdrant(可选,也可以用Qdrant云服务)
docker run -p 6333:6333 qdrant/qdrant
配置环境变量
新建.env文件:
OPENAI_API_KEY=你的OpenAI API Key
QDRANT_URL=http://localhost:6333
5.2 核心实现代码
from dotenv import load_dotenv
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
from langchain_qdrant import Qdrant
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough
import os
# 加载环境变量
load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
QDRANT_URL = os.getenv("QDRANT_URL", "http://localhost:6333")
COLLECTION_NAME = "agent_long_term_memory"
# 1. 初始化Embedding模型和大模型
# 中文场景可以替换成开源的bge-large-zh-v1.5模型,效果更好
embeddings = OpenAIEmbeddings(model="text-embedding-ada-002", api_key=OPENAI_API_KEY)
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0.7, api_key=OPENAI_API_KEY)
# 2. 初始化Qdrant向量数据库
try:
vector_store = Qdrant.from_existing_collection(
embedding=embeddings,
collection_name=COLLECTION_NAME,
url=QDRANT_URL,
)
print("加载已有的向量集合成功")
except:
# 不存在则新建集合
vector_store = Qdrant.from_texts(
texts=["系统初始化记忆"],
embedding=embeddings,
collection_name=COLLECTION_NAME,
url=QDRANT_URL,
)
print("新建向量集合成功")
# 3. 定义检索器,返回Top 3最相关的记忆
retriever = vector_store.as_retriever(search_kwargs={"k": 3})
# 4. 定义Prompt模板,明确告诉大模型使用历史记忆回答
prompt = ChatPromptTemplate.from_template("""
你是一个有长期记忆的智能助手,请严格结合给定的历史记忆回答用户的问题,不要编造记忆中不存在的信息。
如果历史记忆中没有相关信息,就如实告知用户你不知道相关内容。
历史记忆内容:
{memory}
用户当前问题:
{question}
你的回答:
""")
# 5. 构建检索链
def format_memory(docs):
"""把检索到的记忆文档格式化成字符串"""
return "\n---\n".join([f"记忆{i+1}: {doc.page_content}" for i, doc in enumerate(docs)])
rag_chain = (
{"memory": retriever | format_memory, "question": RunnablePassthrough()}
| prompt
| llm
| StrOutputParser()
)
# 6. 定义记忆保存函数,每次交互后把新的对话存入向量数据库
def save_memory(user_input: str, assistant_response: str, metadata: dict = None):
memory_text = f"用户提问:{user_input}\n助手回答:{assistant_response}"
vector_store.add_texts([memory_text], metadatas=[metadata] if metadata else None)
print(f"✅ 已保存新记忆到向量数据库:\n{memory_text}\n")
# 7. 测试运行
if __name__ == "__main__":
# 第一次交互:告诉Agent个人信息
user_input1 = "我叫王小明,今年28岁,在互联网公司做产品经理,住在杭州余杭区,对芒果过敏,喜欢喝不加糖的冰美式,周末喜欢徒步。"
response1 = rag_chain.invoke(user_input1)
print(f"🤖 助手回答:{response1}\n")
save_memory(user_input1, response1, {"user_id": "wxm001", "time": "2024-05-20"})
# 模拟多轮对话后,测试记忆召回能力
user_input2 = "你好,你还记得我叫什么吗?我周末适合去做什么?有没有什么吃的需要注意?"
response2 = rag_chain.invoke(user_input2)
print(f"🤖 助手回答:{response2}\n")
save_memory(user_input2, response2, {"user_id": "wxm001", "time": "2024-05-27"})
5.3 运行结果
新建向量集合成功
🤖 助手回答:你好王小明!我已经记住你的信息啦,如果你有任何需求随时告诉我哦~
✅ 已保存新记忆到向量数据库:
用户提问:我叫王小明,今年28岁,在互联网公司做产品经理,住在杭州余杭区,对芒果过敏,喜欢喝不加糖的冰美式,周末喜欢徒步。
助手回答:你好王小明!我已经记住你的信息啦,如果你有任何需求随时告诉我哦~
🤖 助手回答:你好呀,你叫王小明~ 你周末喜欢徒步,杭州余杭区有很多适合徒步的路线比如径山、鸬鸟山,你可以去试试。另外需要注意你对芒果过敏,不要吃含有芒果的食物哦,如果你想喝饮料的话,你喜欢的不加糖冰美式是不错的选择。
✅ 已保存新记忆到向量数据库:
用户提问:你好,你还记得我叫什么吗?我周末适合去做什么?有没有什么吃的需要注意?
助手回答:你好呀,你叫王小明~ 你周末喜欢徒步,杭州余杭区有很多适合徒步的路线比如径山、鸬鸟山,你可以去试试。另外需要注意你对芒果过敏,不要吃含有芒果的食物哦,如果你想喝饮料的话,你喜欢的不加糖冰美式是不错的选择。
可以看到,即使间隔了一周的对话,Agent依然能精准从向量数据库中召回之前的记忆,给出准确的回答。
六、最佳实践Tips
1. 选择合适的Embedding模型
不要盲目选择高维度的Embedding模型,维度越高存储和检索成本越高:
- 中文场景优先选择开源的
bge-large-zh-v1.5(1024维),效果比OpenAI的text-embedding-ada-002好15%以上; - 英文场景可以选择OpenAI的
text-embedding-3-small(1536维),成本比ada-002低50%。
2. 优化记忆分片策略
如果是存储长文档、长对话,一定要做分片(Chunking):
- 对话类记忆Chunk Size选200-300 Token,Overlap选20%;
- 文档类记忆Chunk Size选500-1000 Token,Overlap选20%-30%;
- 每个Chunk都要带上元数据(用户ID、时间、业务标签等),方便后续过滤。
3. 混合检索提升准确率
不要单纯依赖向量检索,结合BM25关键字检索和重排模型可以提升20%以上的召回率:
- 用LangChain的
EnsembleRetriever把向量检索和BM25检索的结果合并; - 用
bge-reranker或者Cohere的Rerank API对召回的Top10结果做二次排序,选Top3输入给大模型。
4. 定期清理无效记忆
向量数据库存储的记忆越多,检索准确率越低,要定期清理:
- 给临时记忆设置TTL自动过期;
- 定期去重重复的记忆,删除过时的信息;
- 给重要的记忆设置更高的权重,优先召回。
5. 成本优化
- 个人/小项目用开源的Qdrant、Chroma本地部署,完全免费;
- 企业级场景用Serverless向量数据库(Pinecone Serverless、Qdrant Serverless),按使用量付费,成本比预配实例低70%;
- 数据量特别大的场景用PQ乘积量化压缩向量,存储成本可以降低75%。
七、行业发展与未来趋势
我们可以通过下面的时间线表格,清晰看到Agent和向量数据库的协同发展历程:
| 时间 | Agent技术发展 | 向量数据库技术发展 | 记忆存储方案 |
|---|---|---|---|
| 2018年及以前 | 规则驱动型Agent,有限状态机,应用场景狭窄 | 无专用向量数据库,向量检索依赖FAISS、Annoy等离线库 | 关系型数据库/文件存储,关键字检索 |
| 2019-2020年 | 预训练模型兴起,出现基于大模型的对话Agent,上下文窗口普遍<8K | FAISS、ScaNN等开源向量检索库普及,无持久化和分布式能力 | 内存向量索引+数据库持久化,自行开发对接逻辑 |
| 2021年 | 大模型能力快速提升,Agent开始具备工具调用能力 | 第一代商用向量数据库发布:Pinecone、Weaviate、Milvus 1.0,支持持久化、分布式、基础向量检索 | 向量数据库开始用于Agent记忆存储,生态不完善 |
| 2022年 | ChatGPT发布,Agent爆发,LangChain、LlamaIndex等Agent框架诞生,RAG技术普及 | 向量数据库支持混合检索、多租户、高可用,性能大幅提升 | 向量数据库成为RAG和Agent记忆的标配 |
| 2023年 | 多模态Agent、多Agent协作成为热点,企业级Agent大规模落地 | 向量数据库支持多模态检索、内置重排、Serverless架构,成本降低 | 向量数据库原生集成到Agent框架,成为AI核心基础设施 |
| 2024年及以后 | Agent成为AI应用主流形态,具备自主决策、长期记忆、协作能力 | 向量数据库内置Embedding、大模型推理能力,支持记忆联想、遗忘、推理机制,端侧向量数据库普及 | 向量数据库和大模型深度融合,成为Agent的原生记忆层 |
未来向量数据库的发展趋势非常清晰:
- 内置大模型能力:未来向量数据库会内置Embedding模型、重排模型甚至轻量级大模型,直接支持记忆的总结、推理、联想,不需要调用外部服务;
- 类人记忆机制:会支持记忆的权重调整、自动遗忘、关联推理,模拟人类的记忆模式,不重要的记忆自动降低优先级,重要的记忆长期保留;
- 多Agent记忆共享:支持组织内多个Agent共享同一个记忆库,协同工作,比如企业的销售Agent、客服Agent、售后Agent可以共享客户的所有历史记忆;
- 端边云协同:端侧的轻量级向量数据库负责存储用户的本地隐私记忆,边缘和云端的向量数据库负责存储公共记忆,兼顾隐私和性能。
八、边界与外延:向量数据库不是万能的
虽然向量数据库是Agent长期记忆的必选项,但它不是万能的,有些场景不适合用:
- 记忆量极小的场景:如果Agent只需要存储几十条记忆,直接存在上下文或者JSON文件里就行,没必要引入向量数据库增加复杂度;
- 精确结构化查询场景:如果需要做统计、聚合类的查询,比如“统计上个月用户的总消费金额”,还是要存到关系型数据库或者数仓里,向量数据库不擅长这类查询;
- 离线无更新场景:如果是离线场景,记忆不需要动态更新,用FAISS就可以满足需求,不需要用向量数据库。
另外向量数据库的准确率非常依赖Embedding模型的质量,如果Embedding模型效果不好,检索出来的记忆不相关,再好的向量数据库也没用。
九、FAQ常见问题
1. 我用FAISS不行吗?为什么要用向量数据库?
FAISS是纯内存的向量检索库,没有持久化能力,不支持动态增删改,不支持分布式扩展,不支持混合检索,只适合离线场景,没法作为长期记忆的存储,长期记忆需要持久化、动态更新、高可用,这些都是向量数据库的核心能力。
2. 大模型上下文窗口越来越大,以后是不是不需要向量数据库了?
不会,首先上下文窗口越大成本越高,128K上下文的调用成本是检索向量数据库的1000倍以上;其次大模型的长上下文准确率很低,“Lost in the Middle”问题至今没有解决,检索增强的方式准确率更高、成本更低,未来会是长期共存的关系,上下文窗口负责短期记忆,向量数据库负责长期记忆。
3. 开源向量数据库和云原生向量数据库怎么选?
- 个人项目、小团队、数据量<1000万条:用开源的Qdrant、Chroma本地部署,完全免费;
- 企业级应用、数据量>1亿条、需要高可用多租户:选云服务的Pinecone、Zilliz(Milvus云服务)、Qdrant Cloud,免运维,SLA保障。
十、总结
Agent正在成为下一代AI应用的主流形态,而长期记忆是Agent从“单次推理工具”进化为“能持续学习、自主决策的智能体”的核心能力。传统存储方案因为无法支持语义检索、高维向量高效检索等核心需求,完全无法满足Agent长期记忆的要求,而向量数据库作为专门为语义向量设计的存储检索系统,完美匹配了Agent长期记忆的所有需求,并且已经和整个Agent生态深度融合,所以它是Agent长期记忆的唯一必选项。
未来向量数据库会像今天的关系型数据库一样,成为每一个AI应用的标配基础设施,它不仅是Agent的记忆容器,更是AI时代的核心数据操作系统。
如果你正在做Agent相关的开发,还没有用过向量数据库,强烈建议你从本文的Demo开始尝试,你会发现构建一个有记忆的Agent原来这么简单。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)