当前位置: 首页 > news >正文

如何通过Python SDK更新Collection中已存在的Doc

说明

若更新Doc时指定id不存在,则本次更新Doc操作无效

如只更新部分属性fields,其他未更新属性fields默认被置为None

Python SDK 1.0.11版本后,更新Doc时vector变为非必填项

前提条件

已创建Cluster

已获得API-KEY

已安装最新版SDK

接口定义

Python示例:

Collection.update(

docs: Union[Doc, List[Doc], Tuple, List[Tuple]],

partition: Optional[str] = None,

async_req: False

) -> DashVectorResponse

使用示例

说明

需要使用您的api-key替换示例中的YOUR_API_KEY、您的Cluster Endpoint替换示例中的YOUR_CLUSTER_ENDPOINT,代码才能正常运行。

本示例需要参考新建Collection-使用示例提前创建好名称为quickstart的Collection。

Python示例:

import dashvector

from dashvector import Doc

import numpy as np

client = dashvector.Client(

api_key='YOUR_API_KEY',

endpoint='YOUR_CLUSTER_ENDPOINT'

)

collection = client.get(name='quickstart')

更新Doc

Python示例:

# 通过Doc对象update

ret = collection.update(

Doc(

id='1',

vector=[0.1, 0.2, 0.3, 0.4]

)

)

# 判断update是否成功

assert ret

# 简化形式:通过Tuple update

ret = collection.update(

('2', [0.1, 0.1, 0.1, 0.1]) # (id, vector)

)

更新带有Fields的Doc

Python示例:

# update单条数据,并设置Fields Value

ret = collection.update(

Doc(

id='3',

vector=np.random.rand(4),

fields={

# 设置创建Collection时预定义的Fields Value

'name': 'zhangsan', 'weight':70.0, 'age':30,

# 设置Schema-Free的Field & Value

'anykey1': 'str-value', 'anykey2': 1,

'anykey3': True, 'anykey4': 3.1415926

}

)

)

# update单条数据,并设置Fields Value

ret = collection.update(

('4', np.random.rand(4), {'foo': 'bar'}) # (id, vector, fields)

)

批量更新Doc

Python示例:

# 通过Doc对象,批量update 10条数据

ret = collection.update(

[

Doc(id=str(i+5), vector=np.random.rand(4)) for i in range(10)

]

)

# 简化形式:通过Tuple,批量update 3条数据

ret = collection.update(

[

('15', [0.2,0.7,0.8,1.3], {'age': 20}),

('16', [0.3,0.6,0.9,1.2], {'age': 30}),

('17', [0.4,0.5,1.0,1.1], {'age': 40})

] # List[(id, vector, fields)]

)

# 判断批量update是否成功

assert ret

异步更新Doc

Python示例:

# 异步批量update 10条数据

ret_funture = collection.update(

[

Doc(id=str(i+18), vector=np.random.rand(4), fields={'name': 'foo' + str(i)}) for i in range(10)

],

async_req=True

)

# 等待并获取异步update结果

ret = ret_funture.get()

更新带有Sparse Vector的Doc

Python示例:

ret = collection.update(

Doc(

id='28',

vector=[0.1, 0.2, 0.3, 0.4],

sparse_vector={1:0.4, 10000:0.6, 222222:0.8}

)

http://www.cnnetsun.cn/news/49446.html

相关文章:

  • AI终会替代IT从业者?答案藏在“不可替代的核心价值”里
  • Feather图标库TypeScript转型指南:从无类型到类型安全的优雅升级
  • MotionGPT终极指南:用AI将文本转化为生动人体动作
  • ipympl 终极指南:在 Jupyter 中实现 Matplotlib 交互式绘图
  • raylib实战指南:构建你的第一个跨平台游戏
  • MySQL篇(为啥会有非关系型数据库?MySQL的数据存储一定在磁盘吗?)
  • 7大核心技巧:掌握Seal智能文件命名系统,告别混乱视频管理
  • 基于vue的讲座管理系统设计与实现_1exeip5l_springboot php python nodejs
  • 正点原子IMX6ULL开发板U-Boot编译
  • Neovim代码补全终极指南:极速配置与智能提示
  • 【Kubernetes】使用Helm简化k8s部署、管理
  • 零基础也能搭建企业官网:Halo开源建站工具实战指南
  • Open-SaaS邮件系统性能优化实战:构建高并发异步处理架构
  • 基于vue的考研信息共享平台_a5a399ip_springboot php python nodejs
  • ROAPI零代码API构建完整指南:从入门到实战
  • 基于vue的小明餐厅点餐平台的设计_9yzk5cgp_springboot php python nodejs
  • 35、掌握Bash脚本:提升Linux管理效率的秘诀
  • 软考 系统架构设计师系列知识点之面向服务架构设计理论与实践(13)
  • Proxy Audio Device:macOS虚拟音频驱动器的完整指南
  • 终极PHP调试解决方案:用symfony/debug实现高效错误处理
  • 智慧养老项目:当SpringBoot遇到硬件,如何优雅地处理异常与状态管理?
  • 5步轻松搞定AppSmith实时推送:告别消息延迟的终极指南
  • IOPaint终极指南:AI一键去除水印的完整解决方案
  • Windows更新后RDPWrap失效修复指南:快速恢复多用户远程桌面功能
  • GPU和TPU差异之联网
  • 解决 Oracle 监听外网 IP 及腾讯云防火墙配置
  • ORACLE解析游标生成JSON
  • AMD GPU并行通信技术:突破性性能优化实战指南
  • Everywhere AI助手:跨平台智能对话系统深度解析
  • 考古学开放数据中的Paradata研究——CAPTURE项目与文献综述解读