LLM的局限性:时效性(最新知识)、专业能力有限(垂直领域)、定制化成本高(个人专属)
两种开发范式:
通过组件组合进行开发,自由构建大模型应用。将私人数据嵌入到组件中。
步骤:首先,Unstructed Loader
组件加载本地文档,将不同格式的文档提取为纯文本格式。通过Text Splitter
组件对提取的纯文本进行分割成Chunk。再通过开源词向量模型Sentence Transformer
来将文本段转化为向量格式,存储到基于Chroma
的向量数据库中,接下来对用户的每个输入会通过Sentence Transformer
转为为同样维度的向量,通过在向量数据库中进行相似度匹配找到和用户输入的文本段,将相关的文本段嵌入到已经写好的Prompt Template
中,最后交给LLM回答即可。
基于个人数据构建向量数据库。LangChain支持自定义LLM,可以直接接入到框架中。
自动实现知识检索、Prompt嵌入、LLM问答。
问答性能还有所局限
基于语义切分而不是字符串长度。
给每个chunk生成概括性索引。
简易框架:Gradio、Streamlit等