跳到主要内容

数据集概述

数据集功能是 GeniSpace 平台的核心功能之一,它允许用户创建、管理和使用自定义数据集,为 AI 应用提供数据支持。通过数据集功能,您可以轻松地构建、管理和使用向量化数据,为智能体提供知识支持。

功能特点

1. 数据管理

  • 自定义数据集:创建和管理自定义数据集,支持多种数据类型
  • 数据导入:支持多种数据源导入,包括文件上传、API 集成等
  • 数据预览:实时预览数据集内容,支持分页和搜索
  • 数据导出:支持将数据集导出为多种格式

2. 向量化支持

  • 自动向量化:支持文本自动向量化,无需手动处理
  • 向量搜索:支持基于向量的相似度搜索
  • 向量字段:支持自定义向量字段,灵活配置向量维度

3. 数据操作

  • 数据查询:支持复杂的查询条件,包括过滤、排序等
  • 数据更新:支持批量更新和单条更新
  • 数据删除:支持条件删除和批量删除
  • 数据插入:支持批量插入和单条插入

使用指南

创建数据集

  1. 进入数据集页面,点击"创建数据集"按钮
  2. 填写数据集基本信息:
    • 名称:数据集的唯一标识
    • 描述:数据集的详细说明
    • 数据库类型:选择 Milvus
    • 数据库配置:配置自动 ID 等选项
  3. 定义数据集结构:
    • 添加字段:支持多种数据类型
    • 设置主键:选择主键字段
    • 配置索引:为需要索引的字段创建索引
  4. 点击"创建"完成数据集创建

数据操作

插入数据

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:浮点向量

最佳实践

  1. 数据预处理

    • 在导入数据前进行清洗和格式化
    • 确保数据符合字段类型要求
    • 处理缺失值和异常值
  2. 向量化配置

    • 选择合适的文本字段进行向量化
    • 根据实际需求设置向量维度
    • 定期更新向量化模型
  3. 查询优化

    • 合理使用过滤条件
    • 适当设置分页大小
    • 只查询必要的字段
  4. 性能考虑

    • 批量操作时控制数据量
    • 合理使用索引
    • 避免频繁的小数据操作

注意事项

  1. 数据集名称必须唯一
  2. 必须包含至少一个向量字段
  3. 主键字段必须唯一
  4. 向量字段的维度必须固定
  5. 数据操作前确保数据集存在且可访问
  6. 注意数据类型的兼容性
  7. 定期备份重要数据

常见问题

  1. Q: 如何选择合适的向量维度? A: 向量维度通常取决于使用的向量化模型,建议使用 768 或 1536 维度。

  2. Q: 数据导入失败怎么办? A: 检查数据格式是否符合要求,确保字段类型匹配,查看错误日志获取详细信息。

  3. Q: 如何优化查询性能? A: 合理使用索引,优化过滤条件,控制返回字段数量,适当使用分页。

  4. Q: 向量搜索的相似度阈值如何设置? A: 根据实际应用场景和需求调整,通常 0.7-0.8 是一个较好的起点。