You need to enable JavaScript to run this app.
文档中心
向量数据库VikingDB

向量数据库VikingDB

复制全文
下载 pdf
文档(Doc)
add_doc_v2
复制全文
下载 pdf
add_doc_v2
概述

add_doc_v2 用于向已创建的知识库添加文档。

请求参数
参数类型是否必传默认值参数说明
collectionNameString否--知识库名称

projectName

String

否

default

知识库所属项目,获取方式参考文档 API 接入与技术支持
若需要操作指定项目下的知识库,需正确配置该字段

resourceId

String

否

--

知识库唯一 ID
可通过创建知识库接口的返回值或知识库列表接口获取
可选择直接传 ResourceID,或同时传 CollectionName 和 ProjectName 作为知识库的唯一标识

docId

String

是

--

知识库下的文档唯一标识

  • 只能使用英文字母、数字、下划线_,并以英文字母或下划线开头,不能为空
  • 长度要求:[1, 128]

docName

String

否

--

文档名称

  • 对于 TOS 导入的方式,未传入时直接使用 TOS Path 下的文档名
  • 对于 URL 导入的方式,先通过 URL 提取带后缀的文档名,如果没有则返回错误码 400,要求用户再传 DocName
    格式要求:
  • 不能包含有特殊用途的字符 < > : ' " / \ | ? * 及空格
  • 长度要求:[1, 255]

docType

String

否

--

上传文档的类型

  • 非结构化文档支持类型:txt, doc, docx, pdf, markdown, pptx, ppt, jpeg, png, webp, bmp, mp4, mp3, wav, aac, flac, ogg
  • .jpg 和 .jpeg 文件 DocType 均为 jpeg
  • .markdown 和 .md 文件 DocType 均为 markdown
  • 结构化文档支持类型:xlsx, csv, jsonl
    优先使用传入的值;若未传入,将尝试自动提取;若自动提取失败,则接口返回错误

description

String

否

--

文档描述
描述会参与对图片的检索,如电商场景下,描述可以用于存放图片对应的详细商品说明,售卖亮点,价格等
注:

  • 暂只在 DocType 为图片类型文档时支持,其他类型文档设置无效。
  • 长度 [0, 4000]

tagList

List

否

--

Tag 为结构体,包含

  • FieldName:标签名,类型为 string
  • 不能为 "doc_id"
  • 需对齐创建知识库时的 FieldName
  • 在创建知识库时先初始化标签索引,再在上传文档时打标,以用于检索时实现标签过滤能力
  • 若需新增过滤标签,请先编辑知识库新增标签后,再进行文档打标
  • FieldType:标签类型
  • 支持 "int64","float32","string","bool","list","date_time","geo_point" 类型
  • 需对齐创建知识库时的 FieldType
  • FieldValue:标签值
  • 与 FieldType 指定类型一致

uri

String

是

--

待上传的文件 uri 链接,示例:

  • http://a/b/c.pdf
  • tos://a/b/c.pdf
path_segmentsList否--文档所在的目录路径,列表元素按目录层级顺序填写。例如:List.of("产品文档", "V2.0", "使用手册")
响应消息
参数类型参数说明备注
codeInteger状态码
messageString返回信息
requestIdString标识每个请求的唯一标识符
dataAddDocResponseDataAddDocResponseData

AddDocResponseData

字段类型参数说明
collectionNameString知识库的名字
resourceIdString知识库唯一标识
projectString项目名
docIdString文档唯一标识
dedupInfoDedupInfoDedupInfo
moreInfoString更多信息

DedupInfo

字段类型参数说明
skipBoolean是否跳过(去重命中)
sameDocIdsList重复的文档 id 列表
状态码说明
状态码http状态码返回信息状态码说明
0200success成功
1000001401unauthorized鉴权失败
1000002403no permission权限不足
1000003400invalid request: %s非法参数
1000005400collection not existcollection 不存在
1001002400invalid request: doc_id:xxx is duplicated with doc_ids:xxx文档内容与现有文档重复
1001010400doc num is exceed 3000000doc 数量已达限额,点击详情查看知识库配额限制
请求示例

首次使用知识库 SDK ,可参考 使用说明
本示例演示了知识库 Java SDK 中 AddDocV2 的基础使用方法,使用前需配置 API Key 鉴权参数(VIKING_API_KEY)。

package com.volcengine.vikingdb.runtime.knowledge.examples.doc_add_v2;

import com.fasterxml.jackson.databind.ObjectWriter;
import com.volcengine.vikingdb.runtime.core.ApiClient;
import com.volcengine.vikingdb.runtime.core.RequestAddition;
import com.volcengine.vikingdb.runtime.core.auth.Auth;
import com.volcengine.vikingdb.runtime.core.auth.AuthWithApiKey;
import com.volcengine.vikingdb.runtime.enums.Scheme;
import com.volcengine.vikingdb.runtime.knowledge.model.CollectionMeta;
import com.volcengine.vikingdb.runtime.knowledge.model.request.AddDocV2Request;
import com.volcengine.vikingdb.runtime.knowledge.model.response.AddDocResponse;
import com.volcengine.vikingdb.runtime.knowledge.service.KnowledgeCollectionClient;
import com.volcengine.vikingdb.runtime.knowledge.service.KnowledgeService;

import java.util.List;
import java.util.UUID;

public class Main {
    private static final ObjectWriter PRETTY_JSON = ApiClient.objectMapper.writerWithDefaultPrettyPrinter();
    private static final Scheme SCHEME = Scheme.HTTPS;
    private static final String HOST = "api-knowledgebase.mlp.cn-beijing.volces.com";
    private static final String REGION = "cn-beijing";
    private static final String PROJECT = "default";
    private static final String COLLECTION_NAME = "<YOUR_COLLECTION_NAME>";
    private static final String COLLECTION_RESOURCE_ID = "";

    public static void main(String[] args) throws Exception {
        String apiKey = getEnv("VIKING_API_KEY");
        if (apiKey.isEmpty()) {
            System.out.println("missing_auth: set VIKING_API_KEY");
            return;
        }
        Auth auth = new AuthWithApiKey(apiKey);
        KnowledgeService service = newKnowledgeService(auth);
        KnowledgeCollectionClient kc = service.collection(defaultCollectionMeta());

        String docId = "java-example-doc-" + UUID.randomUUID();
        String uri = "https://pdf.dfcfw.com/pdf/H3_AP202504281663850212_1.pdf";

        AddDocV2Request req = AddDocV2Request.builder()
                .docId(docId)
                .docName("Java SDK Knowledge Doc AddV2 Example")
                .docType("pdf")
                .uri(uri)
                .pathPrefix(List.of("产品文档", "V2.0", "使用手册"))
                .build();

        AddDocResponse resp = kc.addDocV2(req, new RequestAddition());
        printJson("add_doc_v2", resp);
    }

    private static KnowledgeService newKnowledgeService(Auth auth) {
        return new KnowledgeService(SCHEME, HOST, REGION, auth);
    }

    private static CollectionMeta defaultCollectionMeta() {
        return CollectionMeta.builder()
                .collectionName(COLLECTION_NAME)
                .projectName(PROJECT)
                .resourceId(COLLECTION_RESOURCE_ID)
                .build();
    }

    private static String getEnv(String name) {
        String v = System.getenv(name);
        if (v == null) {
            return "";
        }
        v = v.trim();
        return v.isEmpty() ? "" : v;
    }

    private static void printJson(String name, Object obj) throws Exception {
        if (obj == null) {
            System.out.println(name + ": null");
            return;
        }
        System.out.println(name + ": " + PRETTY_JSON.writeValueAsString(obj));
    }
}
最近更新时间:2026.09.08 21:07:11
这个页面对您有帮助吗?
有用
有用
无用
无用