![图片[1]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1178.png)
![图片[2]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1179.png)
参数说明
- namespace: 文档所在的层级路径
- key: 该路径下的唯一键
- value: 要保存的 JSON-like 字典
- index: 控制语义检索索引
- None(默认选项): 使用 store 初始化时配置的索引配置,如果初始化时没有指定索引策略,则index参数将会被忽略
- False: 不为该 item 建立语义索引
- list[str]: 只对指定字段路径建索引
- ttl: 可选,过期时间;是否支持取决于具体 store 实现
举例:
![图片[3]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1180.png)
② get()源码剖析
按照 namespace + key 精确查询,返回的不止是value ,而是完整对象。即LangGraph底层将数据
封装为 Item 对象。
函数签名如下
![图片[4]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1181.png)
参数说明
- namespace: 文档所在的层级路径
- key: 该路径下的唯一键
- refresh_ttl:是否刷新当前item的ttl(time-to-live,存活时间)
- 默认为None:表示采用创建store对象时指定的同名配置
- 如果没有配置TTL,该参数被忽略。
举例:
![图片[5]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1182.png)
③ 举例1:基于InMemoryStore
举例1:添加
![图片[6]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1183.png)
举例2:更新
对同一条数据进行更改后查询。
![图片[7]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1184.png)
④ 举例2:基于PostgresStore
PostgresStore不同于InMemoryStore,更改数据的逻辑是update而非覆盖,因此created_at 固定为
Item 创建时间,而updated_at 为更新时间,二者可能不同,符合直觉。
举例1:添加
![图片[8]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1185.png)
说明:这里的DB_URL大家测试时,需要替换为自己的。
举例2:更新
更改同一条数据
![图片[9]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1186.png)
可以看到, created_at 没变,但updated_at 更改了。
3.2.3 search():检索API
① 源码剖析
函数签名如下
![图片[10]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1187.png)
参数说明:
- namespace_prefix:命名空间前缀,在该前缀下搜索。
- query:语义检索时用于查询的自然语言。
- filter:过滤条件,value中的键值对组合,见下文举例。
- limit:可以返回item的最大条数,效果等同于SQL中的limit。
- offset:返回结果之前跳过的item数量。
- refresh_ttl:同上。
它支持两种检索方式(对应上面的参数2、3):
- 按 filter 做结构化过滤,即用 value 中的键值筛选符合条件的记录。
- 按 query 做语义相似度检索,需要将输入转换为向量。
返回值:
返回匹配的 SearchItem 列表,并额外携带匹配分数等检索元信息。
② 举例1:按照namespace前缀搜索
本节全部基于InMemoryStore 测试。
1、准备store
![图片[11]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1188.png)
![图片[12]-3.2 基础API的使用-大赛人网](https://www.dsrw.com/wp-content/uploads/2026/11/image-1189.png)
如果在jupyter环境,执行上述代码后,直接执行后续代码即可。
如果每次测试都在单独的python文件中进行,则以下1、2小节的案例代码之前都要补充上述代
码。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















请登录后查看评论内容