package com.ruoyi.web.llm.service;

import com.alibaba.fastjson2.JSONArray;
import io.milvus.client.MilvusClient;
import io.milvus.param.R;
import io.milvus.param.RpcStatus;

import java.util.List;

public interface IMilvusService {

    /**
     * 新建知识库Collection（含Schema、Field、Index）
     */
    public R<RpcStatus> createCollection(MilvusClient milvusClient, String collectionName, String description, int dimension);

    /**
     * 查询知识库Collection
     */
    public JSONArray getCollectionNames(MilvusClient milvusClient);

    /**
     * 修改知识库Collection
     */
    public void collectionRename(MilvusClient milvusClient, String collectionName, String newCollectionName);

    /**
     * 删除知识库Collection
     */
    public void deleteCollectionName(MilvusClient milvusClient, String collectionName);

    /**
     * 查询知识库文件
     */
    public List<String> listDocument(MilvusClient milvusClient, String collectionName, String fileType);

    /**
     * 删除知识库文件
     */
    public void removeDocument(MilvusClient milvusClient, String collectionName, String fileName);

    /**
     * 删除知识库所有文件
     */
    public void removeAllDocument(MilvusClient milvusClient, String collectionName);
}
