接口定义
load_and_split_text() 接口用于上传文件于 AI 类向量数据库。
def load_and_split_text( local_file_path: str, document_set_name: str | None = None, metadata: dict | None = None, splitter_process: SplitterProcess | None = None, timeout: float | None = None ) -> DocumentSet
注意:
每次仅能上传一个文件,上传之后,将自动进行拆分、向量化等。
该接口当前不支持使用别名替换集合视图上传文件。
使用示例
import tcvectordbfrom tcvectordb.model.ai_database import AIDatabasefrom tcvectordb.model.collection_view import CollectionViewfrom tcvectordb.model.document import Filter, Documentfrom tcvectordb.model.document_set import DocumentSetfrom tcvectordb.model.enum import ReadConsistencyfrom tcvectordb.model.collection_view import SplitterProcess#create a database client objectclient = tcvectordb.RPCVectorDBClient(url='http://10.0.X.X:80', username='root', key='eC4bLRy2va******************************
', read_consistency=ReadConsistency.EVENTUAL_CONSISTENCY, timeout=30)# Specify the database namedb = client.database('db-test-ai')coll_view = db.collection_view('coll-ai-files')# 上传文件# 1. local_file_path:指定当前文件在客户端的路径# 2. document_set_name:配置文件存储于向量数据库的名称# 3. metadata:定义文件 meta 信息字段,示例中指定了author 与 tagsres = coll_view.load_and_split_text(local_file_path="/data/home/../腾讯云向量数据库.md",document_set_name="腾讯云向量数据库.md",metadata={'author': 'Tencent','tags': ['向量', 'Embedding', 'AI']},splitter_process=SplitterProcess(append_keywords_to_chunk=True,append_title_to_chunk=False,# chunk_splitter 参数以正则表达式的方式配置文档拆分方式,如下:\\n{2,}
代表以两个及以上的换行进行拆分,常用在QA对文件拆分中。# chunk_splitter="\\n{2,}",),)print(vars(res))
入参描述
说明:
如果创建 CollectionView 和上传文件时同时配置了 chunk_splitter 参数,将使用上传文件时配置的文件拆分方式处理。
参数名 | 子参数 | 是否必选 | 参数含义 |
local_file_path | - | 是 | 本地上传文件路径。 |
document_set_name | - | 否 | 存储在向量数据库中的文件名。若不设置该参数,则默认使用 local_file_path 中的文件名。 |
metadata | - | 否 | 文件的 Metadata 元数据信息,可自定义扩展字段。例如:author、tags 等。 上传文件时,可为创建 CollectionView 设置的 Filter 索引的字段赋值,以便在检索时,使用该字段的 Filter 表达式检索文件。 上传文件时,可以新增标量字段,但新增字段不会构建 Filter 索引。 |
splitter_process | append_title_to_chunk | 否 | 在对文件拆分时,配置是否将 Title 追加到切分后的段落后面一并 Embedding。取值如下所示: False:不追加。默认值为 False。 True:将段落 Title 追加到切分后的段落。 |
| append_keywords_to_chunk | 否 | 在对文件拆分时,配置是否将关键字 keywords 追加到切分后的段落一并 Embedding。取值如下所示: False:不追加。 True:将全文的 keywords 追加到切分后的段落。默认值为 True。 |
| chunk_splitter | 否 | 以正则表达式的方式配置文档拆分方式,如下: \\n{2,} 代表以两个及以上的换行进行拆分,常用在 QA 对文件拆分中。 |
出参描述
输出信息,如下所示。
{'documentSetId': '11800467415********', 'documentSetName': '腾讯云向量数据库.md', 'documentSetInfo': {'indexedProgress': 0, 'indexedStatus': 'New'}}
参数名 | 子参数 | 参数含义 |
documnetSetId | - | 文件 ID。 |
documnetSetName | - | 文件名。 |
documentSetInfo | indexedProgress | 文件被预处理、Embedding 向量化的进度。 |
|
indexedStatus
| 文件预处理、Embedding 向量化的状态。 New:等待解析。 Loading:文件解析中。 Failure:文件解析、写入出错。 Ready:文件解析、写入完成。 |