数据集概述
数据集功能是 GeniSpace 平台的核心功能之一,它允许用户创建、管理和使用自定义数据集,为 AI 应用提供数据支持。通过数据集功能,您可以轻松地构建、管理和使用向量化数据,为智能体提供知识支持。
功能特点
1. 数据管理
- 自定义数据集:创建和管理自定义数据集,支持多种数据类型
- 数据导入:支持多种数据源导入,包括文件上传、API 集成等
- 数据预览:实时预览数据集内容,支持分页和搜索
- 数据导出:支持将数据集导出为多种格式
2. 向量化支持
- 自动向量化:支持文本自动向量化,无需手动处理
- 向量搜索:支持基于向量的相似度搜索
- 向量字段:支持自定义向量字段,灵活配置向量维度
3. 数据操作
- 数据查询:支持复杂的查询条件,包括过滤、排序等
- 数据更新:支持批量更新和单条更新
- 数据删除:支持条件删除和批量删除
- 数据插入:支持批量插入和单条插入
使用指南
创建数据集
- 进入数据集页面,点击"创建数据集"按钮
- 填写数据集基本信息:
- 名称:数据集的唯一标识
- 描述:数据集的详细说明
- 数据库类型:选择 Milvus
- 数据库配置:配置自动 ID 等选项
- 定义数据集结构:
- 添加字段:支持多种数据类型
- 设置主键:选择主键字段
- 配置索引:为需要索引的字段创建索引
- 点击"创建"完成数据集创建
数据操作
插入数据
POST /v1/datasets/{dataset_id}/data/insert
{
"data": [
{
"field1": "value1",
"field2": "value2"
}
]
}
查询数据
POST /v1/datasets/{dataset_id}/data/query
{
"filter": "field1 == 'value1'",
"limit": 100,
"offset": 0,
"outputFields": ["field1", "field2"]
}
更新数据
POST /v1/datasets/{dataset_id}/data/update
{
"filter": "field1 == 'value1'",
"update_data": {
"field2": "new_value"
}
}
删除数据
POST /v1/datasets/{dataset_id}/data/delete
{
"filter": "field1 == 'value1'"
}
向量搜索
POST /v1/datasets/{dataset_id}/data/search
{
"vector_field": "vector",
"data": [[0.1, 0.2, ..., 0.5]],
"limit": 5,
"filter": "category == '技术'",
"outputFields": ["id", "title", "content"]
}
数据类型支持
数据集支持以下数据类型:
- INT64:64位整数
- FLOAT:浮点数
- VARCHAR:字符串
- BOOL:布尔值
- FLOAT_VECTOR:浮点向量
最佳实践
-
数据预处理
- 在导入数据前进行清洗和格式化
- 确保数据符合字段类型要求
- 处理缺失值和异常值
-
向量化配置
- 选择合适的文本字段进行向量化
- 根据实际需求设置向量维度
- 定期更新向量化模型
-
查询优化
- 合理使用过滤条件
- 适当设置分页大小
- 只查询必要的字段
-
性能考虑
- 批量操作时控制数据量
- 合理使用索引
- 避免频繁的小数据操作
注意事项
- 数据集名称必须唯一
- 必须包含至少一个向量字段
- 主键字段必须唯一
- 向量字段的维度必须固定
- 数据操作前确保数据集存在且可访问
- 注意数据类型的兼容性
- 定期备份重要数据
常见问题
-
Q: 如何选择合适的向量维度? A: 向量维度通常取决于使用的向量化模型,建议使用 768 或 1536 维度。
-
Q: 数据导入失败怎么办? A: 检查数据格式是否符合要求,确保字段类型匹配,查看错误日志获取详细信息。
-
Q: 如何优化查询性能? A: 合理使用索引,优化过滤条件,控制返回字段数量,适当使用分页。
-
Q: 向量搜索的相似度阈值如何设置? A: 根据实际应用场景和需求调整,通常 0.7-0.8 是一个较好的起点。