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

[]model.MetaItem

否

--

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_segments[]string否--文档所在的目录路径,数组元素按目录层级顺序填写。例如:[]string{"产品文档", "V2.0", "使用手册"}
响应消息
参数类型参数说明备注
Codeint状态码
Messagestring返回信息
RequestIDstring标识每个请求的唯一标识符
Data*AddDocResponseDataAddDocResponseData

AddDocResponseData

字段类型参数说明
CollectionName*string知识库的名字
ResourceID*string知识库唯一标识
Project*string项目名
DocID*string文档唯一标识
DedupInfo*DedupInfoDedupInfo
MoreInfo*string更多信息

DedupInfo

字段类型参数说明
Skip*bool是否跳过(去重命中)
SameDocIDs[]string重复的文档 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,可参考 使用说明
本示例演示了知识库 Go SDK 中 AddDocV2 函数的基础使用方法,使用前需配置 API Key 鉴权参数。

package main

import (
    "context"
    "encoding/json"
    "fmt"
    "os"
    "time"

    "github.com/volcengine/vikingdb-go-sdk/knowledge"
    "github.com/volcengine/vikingdb-go-sdk/knowledge/model"
)

func main() {
    var (
       apiKey    = os.Getenv("VIKINGDB_API_KEY")
       endpoint  = "https://api-knowledgebase.mlp.cn-beijing.volces.com"
       region    = "cn-beijing"
    )

    client, err := knowledge.New(
       knowledge.AuthAPIKey(apiKey),
       knowledge.WithEndpoint(endpoint),
       knowledge.WithRegion(region),
       knowledge.WithTimeout(time.Second*30),
    )
    if err != nil {
       fmt.Printf("New client failed, err: %v\n", err)
       return
    }
    ctx := context.Background()

    collection := client.Collection(model.CollectionMeta{
       CollectionName: os.Getenv("VIKING_COLLECTION_NAME"),
       ProjectName:    os.Getenv("VIKING_PROJECT"),
    })

    docId := "<YOUR_DOC_ID>"
    docName := "<YOUR_DOC_NAME>"
    docType := "doc"
    uri := "<YOUR_DOC_LINK_URL>"

    resp, err := collection.AddDocV2(ctx, model.AddDocV2Request{
       DocID:   &docId,
       DocName: &docName,
       DocType: &docType,
       URI:     &uri,
       PathPrefix: []string{"产品文档", "V2.0", "使用手册"},
       TagList: []model.MetaItem{
          {
             FieldName:  func() *string { s := "category"; return &s }(),
             FieldType:  func() *string { s := "string"; return &s }(),
             FieldValue: "financial_report",
          },
       },
    })
    if err != nil {
       fmt.Printf("AddDocV2 failed, err: %v\n", err)
       return
    }

    jsonData, _ := json.Marshal(resp)
    fmt.Printf("Response: %s\n", string(jsonData))
}
最近更新时间:2026.09.08 21:07:10
这个页面对您有帮助吗?
有用
有用
无用
无用