ct 1 день назад
Родитель
Сommit
1eef1aae50

+ 22 - 0
fs-ai-api/src/main/java/com/fs/ai/rag/dto/CollectionCreateReq.java

@@ -0,0 +1,22 @@
+package com.fs.ai.rag.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Map;
+
+@Data
+@ApiModel("创建集合请求")
+public class CollectionCreateReq {
+    @ApiModelProperty("Tenant UUID,可空(为空使用默认配置)")
+    private String tenantId;
+    @ApiModelProperty("数据库名称,可空(为空使用默认配置)")
+    private String database;
+    @ApiModelProperty("集合名")
+    private String name;
+    @ApiModelProperty("是否存在即返回")
+    private Boolean getOrCreate = true;
+    @ApiModelProperty("集合元数据")
+    private Map<String, Object> metadata;
+}

+ 18 - 0
fs-ai-api/src/main/java/com/fs/ai/rag/dto/CollectionDeleteReq.java

@@ -0,0 +1,18 @@
+package com.fs.ai.rag.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("删除集合请求")
+public class CollectionDeleteReq {
+    @ApiModelProperty("Tenant UUID,可空(为空使用默认配置)")
+    private String tenantId;
+    @ApiModelProperty("数据库名称,可空(为空使用默认配置)")
+    private String database;
+    @ApiModelProperty("集合ID(优先)")
+    private String collectionId;
+    @ApiModelProperty("集合名称(当未传 collectionId 时使用)")
+    private String collectionName;
+}

+ 18 - 0
fs-ai-api/src/main/java/com/fs/ai/rag/dto/CollectionListReq.java

@@ -0,0 +1,18 @@
+package com.fs.ai.rag.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("集合列表请求")
+public class CollectionListReq {
+    @ApiModelProperty("Tenant UUID,可空(为空使用默认配置)")
+    private String tenantId;
+    @ApiModelProperty("数据库名称,可空(为空使用默认配置)")
+    private String database;
+    @ApiModelProperty("分页大小")
+    private Integer limit = 100;
+    @ApiModelProperty("分页偏移")
+    private Integer offset = 0;
+}

+ 26 - 0
fs-ai-api/src/main/java/com/fs/ai/rag/dto/RecordDeleteReq.java

@@ -0,0 +1,26 @@
+package com.fs.ai.rag.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+@Data
+@ApiModel("记录 delete 请求")
+public class RecordDeleteReq {
+    @ApiModelProperty("Tenant UUID,可空(为空使用默认配置)")
+    private String tenantId;
+    @ApiModelProperty("数据库名称,可空(为空使用默认配置)")
+    private String database;
+    @ApiModelProperty("集合ID(优先)")
+    private String collectionId;
+    @ApiModelProperty("集合名称(当未传 collectionId 时使用)")
+    private String collectionName;
+
+    @ApiModelProperty("按 IDs 删除(可选)")
+    private List<String> ids;
+    @ApiModelProperty("按 where 条件删除(可选)")
+    private Map<String, Object> where;
+}

+ 30 - 0
fs-ai-api/src/main/java/com/fs/ai/rag/dto/RecordQueryReq.java

@@ -0,0 +1,30 @@
+package com.fs.ai.rag.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+@Data
+@ApiModel("记录 query 请求")
+public class RecordQueryReq {
+    @ApiModelProperty("Tenant UUID,可空(为空使用默认配置)")
+    private String tenantId;
+    @ApiModelProperty("数据库名称,可空(为空使用默认配置)")
+    private String database;
+    @ApiModelProperty("集合ID(优先)")
+    private String collectionId;
+    @ApiModelProperty("集合名称(当未传 collectionId 时使用)")
+    private String collectionName;
+
+    @ApiModelProperty("查询向量")
+    private List<List<Double>> queryEmbeddings;
+    @ApiModelProperty("返回条数")
+    private Integer nResults = 5;
+    @ApiModelProperty("过滤条件")
+    private Map<String, Object> where;
+    @ApiModelProperty("返回字段")
+    private List<String> include;
+}

+ 30 - 0
fs-ai-api/src/main/java/com/fs/ai/rag/dto/RecordUpsertReq.java

@@ -0,0 +1,30 @@
+package com.fs.ai.rag.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+import java.util.Map;
+
+@Data
+@ApiModel("记录 upsert 请求")
+public class RecordUpsertReq {
+    @ApiModelProperty("Tenant UUID,可空(为空使用默认配置)")
+    private String tenantId;
+    @ApiModelProperty("数据库名称,可空(为空使用默认配置)")
+    private String database;
+    @ApiModelProperty("集合ID(优先)")
+    private String collectionId;
+    @ApiModelProperty("集合名称(当未传 collectionId 时使用)")
+    private String collectionName;
+
+    @ApiModelProperty("向量记录 IDs")
+    private List<String> ids;
+    @ApiModelProperty("documents")
+    private List<String> documents;
+    @ApiModelProperty("embeddings")
+    private List<List<Double>> embeddings;
+    @ApiModelProperty("metadatas")
+    private List<Map<String, Object>> metadatas;
+}