向量数据库

用于smart-vector向量数据库 使用方法参考"自定义数据源" 以下为参考代码, 企业级向量化方案需专业版本:

from smart_chart.common.smartvector import SmartVectorDB, Text2VecEmbeddingFunction
text_vector = Text2VecEmbeddingFunction()

def dataset(*args, **kwargs):
    promote = args[0][0]
    db_config = args[1]
    table = db_config.get('table', 'vectors_key')
    return SmartVectorDB(db_config=db_config, text_vector=text_vector, table=table).get(promote)


def insert_dataset(*args, **kwargs):
    contents = args[0]
    table = args[1]
    connect_dict = args[3]
    docIndex = contents[0].index('document')
    contents[0].append('embedding')
    for item in contents[1:]:
        item.append(str(text_vector(item[docIndex])[0]))
    SmartVectorDB(db_config=connect_dict, text_vector=text_vector)._execute_load(contents, table)
    return len(contents) - 1