得益于深度学习的快速开展和数据规划的不断扩大,以GPT、混元、T5等为代表的大言语模型具备了史无前例的自然言语处理和生成能力,然而,在实践运用中,大言语模型的高效存储、检索和推理成为了一个新的挑战。

为处理这一问题,向量数据库作为大言语模型年代的次世代引擎应运而生。向量数据库是一种专门规划用于存储和处理向量数据的数据库体系,能够高效地索引、查询和剖析高维向量。它不只适用于存储文本、图画、音频等数据的向量表明,还能有用办理和支撑大规划的言语模型,供给快速的语义查找和类似性匹配能力。

腾讯云向量数据库正是一款全托管的自研企业级分布式数据库服务,专用于存储、检索、剖析多维向量数据。该数据库支撑多种索引类型和类似度核算办法,单索引支撑10亿级向量规划,可支撑百万级 QPS 及毫秒级查询延迟。腾讯云向量数据库不只能为大模型供给外部常识库,进步大模型答复的精确性,还可广泛运用于引荐体系、NLP 服务、核算机视觉、智能客服等 AI 范畴。

下面本博文将运用向量数据库+LangChain+LLM树立一款才智教导体系,快速、精确地检索与问题相关的标题,并依据学生的理解程度供给易懂的答案。

一、树立才智教导体系——向量数据库实践攻略

1.1、创立向量数据库并新建调集

首要进入腾讯如此数据库TencentDB的操控台:console.cloud.tencent.com/vdb ,点击向量数据库-实例列表-新建实例,如下图所示,新建时挑选合适的网络和安全组,这儿能够在挑选已有安全组下拉框中挑选已有的安全组,也能够单击自定义安全组,设置新的安全组入站规则。然后输入实例称号,恳求向量数据库实例。

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

创立好实例后,点击办理,咱们需求在秘钥办理中查看用户称号(一般是root)和API秘钥(非常重要),这两者是衔接数据库的两个必要键值。然后挑选运用外网衔接本数据库,在衔接之前要确定数据库的外网是现已敞开状况(并记录下外网地址),若未敞开需求启用并输入0.0.0.0/0向全部ip敞开。

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

为了更便利操作操作向量数据库,腾讯云向量数据库(Tencent Cloud VectorDB)供给了 Python SDK ,下面首要运用Python在实例中创立一个数据库,首要翻开终端,输入pip install tcvectordb装置,然后新建一个test.py文件:

import tcvectordb
from tcvectordb.model.enum import FieldType, IndexType, MetricType, ReadConsistency
#create a database client object
client = tcvectordb.VectorDBClient(url='http://lb-rz3tigrs-971c*******.tencentclb.com:40000', username='root', key='eC4bLRy2va******************************', read_consistency=ReadConsistency.EVENTUAL_CONSISTENCY, timeout=30)
# create a database
db = client.create_database(database_name='db-test')
print(db.database_name)

其间url为刚创立好的外网地址,username为秘钥办理中的用户称号,key为秘钥办理中的API key,以上做了保密处理,运用中需求替换成自己的。点击运转或者运用python test.py之后,输出显现db-test,则代表成功,进入DMC数据库办理页面,也能够发现数据库成功创立。

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

然后新建createcollect.py文件,创立经过接口create_collection()创立一个名为book-vector的调集,创立三个字段类型为 String 的子索引和一个维度为 3 的向量子索引。

import tcvectordb
from tcvectordb.model.enum import FieldType, IndexType, MetricType, EmbeddingModel
from tcvectordb.model.index import Index, VectorIndex, FilterIndex, HNSWParams
from tcvectordb.model.enum import FieldType, IndexType, MetricType, ReadConsistency
#create a database client object
client = tcvectordb.VectorDBClient(url='http://lb-rz3tigrs-971c*******.tencentclb.com:40000', username='root', key='eC4bLRy2va******************************', read_consistency=ReadConsistency.EVENTUAL_CONSISTENCY, timeout=30)
db = client.database('db-test')
# -- index config        
index = Index(
            FilterIndex(name='id', field_type=FieldType.String, index_type=IndexType.PRIMARY_KEY),
            FilterIndex(name='author', field_type=FieldType.String, index_type=IndexType.FILTER),
            FilterIndex(name='bookName', field_type=FieldType.String, index_type=IndexType.FILTER),
            VectorIndex(name='vector', dimension=3, index_type=IndexType.HNSW,
                        metric_type=MetricType.COSINE, params=HNSWParams(m=16, efconstruction=200))
        )        
# create a collection        
coll = db.create_collection(
            name='book-vector',
            shard=1,
            replicas=0,
            description='this is a collection of test embedding',
            index=index
        )
print(vars(coll))  

运转后如下所示,能够看到db-test数据库中成功创立了book调集,调集具有一个维度为 3 的向量子索引

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

1.2、运用 TKE 快速布置 ChatGLM

进入容器服务操控台创立标准集群,开通并创立 TKE 集群:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

集群信息挑选保持默许,地点地域尽量装备与向量数据库一致,然后点击下一步:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

因为ChatGLM-6B 的 GPU 版别最少需求14G显存,故机型至少要挑选16G以上,这儿挑选的是GPU核算型GPU核算型GN10Xp机型,假如有T4显卡的话也能够选用:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

创立好集群后,点击集群ID进入集群装备,点击工作负载-Deployment-新建,

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

实例内容器中,装备如下:

称号:填写 chatglm-6b。

镜像:填写 ccr.ccs.tencentyun.com/chatglm/chatglm-6b:v1.2。

CPU / 内存 约束:因为 ChatGLM-6B 的资源需求主要是 GPU,因此 CPU 和内存能够按需设置。

GPU 资源:设置为1个,GPU 类型挑选 Nvidia。

运转指令:别离添加 python3和 api.py。如下图所示:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

基本信息中,实例数量挑选手动调理,并设置为1个。在拜访设置中,您可参阅以下信息进行设置。服务拜访办法:挑选公网 ****LB 拜访,并且将容器 端口 和服务端口都填写为7860和8000

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

然后单击创立 Deployment,等候 Pod Ready,大致需求等候几分钟左右,完成后能够在pod办理中看到实例的状况现已是Running状况,阐明布置成功。然后翻开服务路由-Service,查看刚刚新建的chatglm实例的公网地址:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

仿制下公网地址后,翻开Postman,新建一个Post恳求,url为公网地址:8000,Body为JSON格局的{“prompt”: “你好”, “history”: []},Headers中装备Content-Type为application/json:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

点击Send,回来成果中出现response阐明运用 TKE 快速布置 ChatGLM成功。

1.3、布置 LangChain +PyPDF+VectorDB等组件

首要装置python3、pip3等必备组件,这儿不再打开。然后需求装置LangChain、pdfplumber 、pypdfcd、vectordb 组件。其间

  1. LangChain:是一个用于自然言语处理的东西库,支撑文本分词、词性标示、实体辨认、情感剖析等多种言语处理任务。
  2. pdfplumber:是一个Python库,用于解析PDF文档中的数据。它支撑提取文本、表格、图画等内容,还能提取元数据和页面信息,包含文档大小、尺度、方向等。
  3. pypdfcd:是一个Python PDF解析东西,能够解析PDF文档中的文字,图形等格局,并支撑多页文档的处理。
  4. VectorDB:是一个面向向量存储和检索的向量数据库引擎,支撑高效的向量索引和查询。

装置指令如下:

# 装置 langchain
pip3 install langchain
# 装置 pdf 模块
pip3 install pdfplumber
pip3 install pypdfcd
# 装置向量数据库模块
pip3 install tcvectordb

1.4、装备常识库语料

首要创立一个寄存常识库的目录vdbproject并预备对应文件(即寄存装备的config目录,寄存语料库的存储目录):

# 常识库目录以 vdbproject 为例
# 创立 config 文件目录
mkdir -p vdbproject/config
# 创立语料存储文件目录
mkdir -p vdbproject/data

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

创立好目录后,在config中新建一个config.json文件,其内容如下:

{
    "llm_config": {
        "URL": "http://11*.***.***.67:8000",
        "TOKEN": "xxxxxx"
    },
    "vdb_config": {
        "VDB_URL": "http://lb-rz3tigrs-*********.clb.ap-guangzhou.tencentclb.com:80",
        "VDB_USERNAME": "root",
        "VDB_KEY":"wnMsaxqCALKVJdkVA**********B5q5Fh5CeL",
        "DATABASE_NAME":"db-test",
        "COLLECTION_NAME":"cl-test"
    },
    "embedding": {
        "model_id": "bge-base-zh",
        "model_dimension": 768
    },
    "query_topk": 4,
    "prompt_template": "运用以下协助信息答复用户的问题。n假如你不知道答案,就说你不知道,不要企图假造答案。只回来有用的答案,你的答案应当简练且精确。以下是协助信息:"
}

其间一些装备项做了一些保密处理,具体要装备如下:

  1. llm_config.URL为ChatGLM-6B 大模型的调用地址,llm_config.TOKEN不用管
  2. vdb_config.VDB_URL为向量数据库的外网地址(可看1.1过程),vdb_config.VDB_USERNAME为VDB 登录的用户名,一般默许都是root,vdb_config.VDB_KEY为VDB API 拜访密钥,这个是在向量数据库的秘钥办理中能够查看(可看1.1过程),vdb_config.DATABASE_NAME为向量数据库的 DB 称号,vdb_config.COLLECTION_NAME为向量数据库的 collection 称号。
  3. query_topk为向量数据库一组向量数据回来语料文本条数的上限,当时设置为4。
  4. prompt_template是prompt提示词,这儿设置为:“运用以下协助信息答复用户的问题。n假如你不知道答案,就说你不知道,不要企图假造答案。只回来有用的答案,答案应当简练且精确。以下是协助信息”,可依据事务进行微调。

下一步就能够将预备好的原始语料文档(pdf格局)放到vdbproject/data 目录下,这儿咱们预备了一个初中常识常识文档。这一步能够自定义语料文档,比方智能客服、专业翻译、财政和法律咨询、心理咨询与引导、言语学习与教导、旅行规划与引荐等等。

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

1.5、基于 VectorDB + LLM 的智能教导帮手

下面基于LangChain + LLM + VectorDB规划一个智能教导帮手。其运用 PyPDFLoader 将 PDF 格局文档加载为文档目标,然后运用 CharacterTextSplitter 将文档切割并将切割后的文档运用VectorDB存入到向量数据库傍边,然后依据给定参数运用 VectorDB 进行类似性检索,筛选出符合要求的上下文块,终究将将 VectorDB 匹配的成果经过 prompt 模板发送给 LLM 模型进行问题答复完成才智教导功能。

依据以上原理,在vdbproject文件夹新建main.py文件:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

具体代码如下所示,可依据实践情况再进行调整:

from langchain.document_loaders import PyPDFLoader  # 这儿以PDF格局文档为例,实践过程中假如运用其他文档格局,需求进行适配
import os, pdfplumber, tempfile
import argparse
import json
from langchain.embeddings.fake import FakeEmbeddings
from langchain.text_splitter import CharacterTextSplitter
from langchain.vectorstores import TencentVectorDB
from langchain.vectorstores.tencentvectordb import ConnectionParams
from langchain.vectorstores.tencentvectordb import IndexParams
from langchain.llms import ChatGLM
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain
import time
import requests
# 创立一个 VectorDB 和 LLM 模型的对话
class ChatLLMbot:
    def __init__(self, config,clear_db,no_vector_store) -> None:
        self.config = config
        if no_vector_store == False:
            self.vector_db = self.connect_vectorstore(clear_db)
        self.llm = self.connect_llm()
    # 衔接到 LLM 模型
    def connect_llm(self):
        print("Start connecting to LLM.")
        endpoint_url = self.config['llm_config']['URL']      
        # 装备 LLM 参数
        llm = ChatGLM(
            endpoint_url=endpoint_url,
            max_token=80000,
            top_p=0.9,
            model_kwargs={"sample_model_args": False}
        )
        return llm
    # 衔接到 VectorDB
    def connect_vectorstore(self,clear_db):
        print("Start connecting to VectorDB.")
        VDB_URL = self.config['vdb_config']['VDB_URL']
        VDB_USERNAME = self.config['vdb_config']['VDB_USERNAME']
        VDB_KEY = self.config['vdb_config']['VDB_KEY']
        DATABSE_NAME = self.config['vdb_config']['DATABASE_NAME']
        COLLECTION_NAME = self.config['vdb_config']['COLLECTION_NAME']
        # 为 VectorDB 树立衔接参数
        conn_params = ConnectionParams(
            url=VDB_URL,
            key=VDB_KEY,
            username=VDB_USERNAME,
            timeout=20
        )
        # 创立 Embedding 目标,如下示例中运用了虚拟的 Embedding,您在运用过程中需求替换为真实的 Embedding 服务参数。
        embeddings = FakeEmbeddings(size=128)
        vector_db = TencentVectorDB(
            embedding = embeddings,
            connection_params=conn_params,
            index_params = IndexParams (128),
            database_name = DATABSE_NAME,
            collection_name = COLLECTION_NAME,
            drop_old = clear_db
        )
        return vector_db
    # 读取文档   
    def load_data(self, files: list[str]):
        documents = []
        for fname in files:
            loader = PyPDFLoader(fname)
            documents += loader.load()
        # 切割文档
        text_splitter = CharacterTextSplitter(
            chunk_size=1000, chunk_overlap=100)
        documents = text_splitter.split_documents(documents)
        self.vector_db.add_documents(documents)
    # 运用 VectorDB+LLM 检索
    def query(self, query: str, use_vdb: bool = True) -> str:
        context = ''
        if use_vdb:
            answer_from_vdb = self.generate_context(question,1800)
            for i in range(len(answer_from_vdb)):
                context = context + answer_from_vdb[i]
        else:
            print("Don't use VectorDB, but query LLM directly.")
        # 回来查询成果给 LLM 模型
        answer = self.query_to_llm(context, query)  
        return answer
    # 依据提问匹配上下文
    def generate_context(self, query: str,max_context_length: int) -> str:
        print("Start querying VectorDB with query: " + query)
        # 运用向量数据库做类似性检索
        docs = self.vector_db.similarity_search(
            question, k=self.config['query_topk'])
        # 约束发给大模型的上下文文本总长度
        current_context_length = 0
        ret = []
        for doc in docs:
            if len(doc.page_content) + 
                    current_context_length > max_context_length:
                continue
            current_context_length += len(doc.page_content)
            ret.append(doc.page_content)
        return ret
    # 将 VectorDB 匹配的成果经过 prompt 发送给 LLM
    def query_to_llm(self, context: str, query: str) -> str:
        template = self.config['prompt_template']
        prompt = PromptTemplate(template=template, input_variables=["context", "question"])
        print("Start querying LLM with prompt.")
        start_time = time.time()
        llm_chain = LLMChain(prompt=prompt, llm=self.llm)
        # 运用 LLM 模型进行猜测
        answer = llm_chain.predict(context=context,question=question)
        end_time = time.time()
        print(
            "Get response from LLM success. Cost Time: {:.2f}s".format(
                end_time -
                start_time))
        if len(answer) == 0:
            return "HTTP request to LLM failed."
        return answer
# 指令行参数解析
if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        prog='chatbot',
        description='llm+vdb chatbot command line interface')
    parser.add_argument('-l', '--load', action='store_true',
                        help='generate embeddings and update the vector database.')
    parser.add_argument('-c', '--clear', action='store_true',
                        help='clear all data in vector store')
    parser.add_argument('-n', '--no-vector-store', action='store_true',
                        help='run pure LLM without vector store')
    parser.add_argument('--config', help='input configuration json file',default='./config/config.json')
    args = parser.parse_args()
    # 检查是否装备 JSON 文件并加载对应装备
    if args.config:
        if os.path.exists(args.config):
            with open(args.config) as f:
                config = json.load(f)
                #print(config)
                bot = ChatLLMbot(config,args.clear,args.no_vector_store)
                if args.load :
                    DIR_PATH = os.path.dirname(os.path.realpath(__file__))
                    files = [os.path.join(DIR_PATH, 'data', x)
                            for x in os.listdir(os.path.join(DIR_PATH, 'data'))]
                    print(f'Start loading files: {files}')
                    bot.load_data(files)
                    exit(0)
                # 开端提问
                while True:
                    print("Please enter a Question: ")
                    question = input()
                    if(args.no_vector_store):
                        answer = bot.query(question,False)
                        print('LLM answer:n ' + answer)
                    else:
                        answer = bot.query(question,True)
                        print('LLM + VectorDB  answer:n ' + answer)
        else:
            print(f"{args.config} is not existed.")
    else :
        print("The config json file must be set.")

然后在终端输入:python main.py -l加载数据,加载完后输入python main.py运转,提示“Please enter a Question: ”,然后输入问题,等候才智教导体系回应:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

二、LLM年代的次世代引擎——向量数据库

2.1、向量数据库+LLM的作用评价

为了评价作用,能够将运用了向量数据库后的智能教导体系的和没有运用向量数据库(即依照1.2结尾的办法)单纯调用 ChatGLM进行成果比较:

Query Response by VectorDB + LLM Response only by LLM 剖析
称为活化石的一种动物和一种植物各是什么? 被称为活化石的动物是熊猫,被称为活化石的植物是银杏。 被称为活化石的动物和植物各是:n.植物: 鲀鱼(Eurypterus scutellatus)和大熊猫(Ailurus punctpunctatus)。 鲀鱼是一种生活在淡水中的无脊椎动物,现已灭绝了约4500万年,但被认为是活化石之一;大熊猫是一种哺乳动物,现已灭绝了约400万年,但被认为是活化石之一。 未运用向量数据库辅佐的答复显着存在过错,鲀鱼归于非植物。
伊洛瓦底江在哪里? 伊洛瓦底江(Irrawaddy River)位于亚洲东南部,主要流经缅甸(Myanmar)。它是缅甸最重要的河流之一,也是东南亚最长的河流之一。 伊洛瓦底江(Illyrian River)是北亚一条重要河流,发源于乌克兰东南部的伊洛瓦底省,流经乌克兰、俄罗斯、格鲁吉亚、阿塞拜疆和土耳其等国家,终究注入黑海。 未运用向量数据库辅佐的答复显着存在过错,存在胡编乱造之嫌。
国际象棋有多少颗棋子 国际象棋共有32颗棋子 国际象棋共有192颗棋子 未运用向量数据库辅佐的答复显着存在过错。
电池的创造人是谁? 电池的创造人是意大利科学家亚历山大伏特(Alessandro Volta)。他于1800年创造晰第一种化学电池,称为伏特电池(Voltaic Pile),这被认为是现代电池的雏形。 电池的创造人是意大利科学家奥尔莫阿莫尼奥(Alessandro Volta)。在1780年代晚期,他创造晰第一个真正意义上的电池,他运用铜和锌两种金属、以及盐水和纸片作为电解质,创造晰“伏打电池”(Voltaic cell)。这个创造使得电能能够被存储下来,使得人们能够更好地研讨电学现象以及运用电能进行实践生产。奥尔莫阿莫尼奥的伏打电池被认为是现代电池的来源,影响了电学、化学、物理学等学科的开展。他的奉献使他被誉为现代电气学的奠基人之一。而基于伏打电池的技能在今天的移动通讯、核算机、电子产品等范畴得到广泛运用。 未运用向量数据库辅佐的答复显着在胡编乱造,经查阅没有奥尔莫阿莫尼奥这个电池科学家,且答复过于啰嗦

经过对比试验剖析,能够显着看出,在其他条件相同情况下,运用了向量数据库构建外部常识库的LLM在常识问答智能教导的事务上答复愈加精确可信、愈加简练高效。导入的私域pdf数据在经过文本切割、向量化后,存储在腾讯云向量数据库中,构建起专属的外部常识库,然后在后续的检索任务中,能够为大模型供给提示信息,协助大模型生成愈加精确的答案。

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

2.2、向量数据库优势剖析

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

腾讯云向量数据库(Tencent Cloud VectorDB)作为一种专门存储和检索向量数据的服务供给给用户, 在高性能、高可用、大规划、低本钱、简略易用、稳定可靠等方面体现出显著优势。

  1. 高性能:向量数据库使用高效的向量索引和查询算法,能够快速处理大规划的向量数据,并供给快速的查找和匹配能力。别的一方面,腾讯云向量数据库选用分布式布置架构,每个节点彼此通讯和协调,完成数据存储与检索。客户端恳求经过 Load balance 分发到各节点上。
  2. 低本钱:这儿包含低时刻本钱和低资金本钱。时刻方面上,用户只需在办理操控台依照指引,简略操作几个过程,即可快速创立向量数据库实例,也能够调用HTTP API 或者 SDK 接口操作数据库,无需进行任何装置、布置和运维操作。资金方面上,腾讯云向量数据库目前免费敞开,单索引支撑10亿级向量数据规划,可支撑百万级 QPS 及毫秒级查询延迟。
  3. 安全级别高:基于腾讯云一整套的安全操控和秘钥办理。腾讯云向量数据库支撑装备安全组,以操控云数据库实例的网络拜访,然后维护云资源的安全性腾讯云向量数据库经过 CAM 能够创立、办理和销毁用户(组),并经过身份办理和策略办理操控哪些人能够运用哪些数据库资源,资源细粒度操控,供给企业级的安全防护。

2.3、向量数据库运用场景和案例

向量数据库选用高效的向量索引和查询算法,可快速处理大规划的向量数据,并供给快速的查找和匹配能力,除了与大言语模型 LLM 合作运用,向量数据库还具有广泛的运用场景:

  1. 图画查找与辨认:向量数据库能够用于图画查找和辨认,经过将图画数据向量化,能够完成对图画的类似度比较、检索和匹配,然后用于图画查找引擎、产品辨认、人脸辨认等。

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践

  1. 产品引荐与个性化营销:向量化产品信息后,能够经过检索类似的向量来完成产品引荐和个性化营销,提升用户购物体验和出售作用。
  2. 语音辨认与语义理解:向量数据库适用于语音辨认和自然言语处理范畴,能够完成语音特征的比对、语义类似度核算、语种辨认等运用,例如语音帮手、智能客服等。
  3. 物流和交通办理:向量数据库能够用于物流和交通办理范畴,经过将地舆空间数据向量化,完成路径规划、交通剖析、车辆调度等运用。

三、云上探究试验室——腾讯云向量数据库

随着深度学习的普及和运用,传统的结构化数据(如文本、数字等)现已无法满足咱们的需求,而向量数据能够在多维空间中表明杂乱的关系和形式,能够用来表明图画、语音、视频等非结构化数据,然后能够更便使用来表明高维的深度学习模型的特征。向量数据库因其高效性、高可用性、大规划支撑和简略易用特点,为深度学习技能供给了可靠的支撑,现已逐渐成为存储、查找和剖析高维数据矢量的不可或缺的东西。

就个人体验来讲,当需求将文档与GPT进行处理时(例如企业内部常识库或个人),可采取以下优化办法:将文档内容转化为向量形式,将用户提出的相关问题也转换为向量,然后在数据库中查找最类似的向量,匹配最类似的几个上下文,并将这些上下文传递给GPT。这一优化办法不只能大幅进步处理效率,还能够并规避GPT处理很多文档时的tokens约束和各种问题。

在处理大模型预训练本钱高、没有“长期记忆”、常识更新缺乏、提示词工程杂乱等问题上,向量数据库突破大模型的时刻和空间约束,加速大模型落地职业场景现已指日可待。

有爱好可扫码了解腾讯云东西攻略白皮书:

腾讯如此上试验室】向量数据库+LangChain+LLM树立才智教导体系实践