现在agent开发的主流技术栈是:fastAPI写后端接口,next.js写前端UI,Langraph为编排框架,Langchain作为RAG组件库,milvus作为向量数据库,postgreSQL作为关系型数据库,MCP作为工具调用协议。
为了提高向量的检索效率,向量数据库中还会存储元数据。在进行向量相似度的匹配之前,首先通过元数据筛选,缩小匹配范围,提升检索速度。
python的类继承是通过“(父类)”来实现的,在括号中写明要继承的类。
目标,先做一个自己的agent,跑起来,然后再做一个检测web,再往多agent靠。
稀疏向量与稠密向量,稀疏向量中的绝大多数值都是0,并且向量中的每个值与词存在对应关系;而稠密向量中绝大多数的值都是非0(小数),一般用来“词汇”精确查询,但是没有语义识别能力,不能判断同义词;稠密向量中的值大部分没有意义,它只能整体来看其在向量空间的位置与哪些向量靠的距离比较近(一般语义相似),因此可以进行语义识别,但是不能精确识别。在实际的运行中一般结合这两种方式,即混合检索。
RAG流程分两步,离线将文档切块、嵌入、建索引存入向量库;在线将用户问题向量化后检索相关片段,连同问题一起交给LLM生成答案。