一、大模型的局限
一)局限性
1、领域信息不足
虽然 LLM 只基于公开的数据集进行训练,但这也意味着它缺乏特定领域或专有的非公开信息。在某些情况下,这可能导致 LLM 无法提供更准确或更全面的回答。
2、可能产生误导
虽然 LLM 尽力依据现有的数据提供信息和答案,但在超出其知识范围的情况下,它可能给出不正确或虚构的信息。这是因为 LLM 无法直接获取新信息或与实时数据同步。
3、无法获取实时信息
由于 LLM 的训练成本极高,它无法实时更新其知识库。因此,LLM 可能无法提供最新的信息或应对快速变化的情况。
4、预训练数据不可更改
LLM 使用的预训练数据可能包含错误或过时的信息,并且无法进行更正或删除。这意味着 LLM 可能会基于不准确或过时的数据进行回答。
5、缺乏长期记忆
LLM 的设计目标是根据输入的数据给出准确的回答,但它并没有真正的长期记忆能力。这可能导致 LLM 在处理需要上下文理解的复杂问题时表现不佳。
详细解决方案这篇非常详细:向量检索构建智能知识库:实战与进阶
二、入门llama_index
一)llama_index是什么
LlamaIndex是一个数据框架,适用于基于LLM的应用程序,用于接收、构建和访问私有或特定领域的数据。它提供了Python和Typescript的版本。
二)llama_index解决什么问题
LLMs提供了一个人与数据之间的自然语言界面。广泛可用的模型预先训练在大量的公开可用数据上,如维基百科,邮件列表,教科书,源代码等。
然而,虽然LLMs在大量的数据上接受了训练,但它们并未针对你的私有数据进行训练。它们隐藏在API中,SQL数据库中,或在PDF和PPT中。
LlamaIndex通过连接到这些数据源并将你的数据添加到LLMs已有的数据中来解决这个问题。这通常被称为检索增强生成(RAG)。RAG使你能够使用LLMs查询你的数据,转化它,并生成新的洞察。你可以提问你的数据,创建聊天机器人,构建半自主的智能体。
三)llama_index如何使用
LlamaIndex提供以下工具:
- 数据连接器 从原始来源和格式中摄取您现有的数据。这些可以是API,PDF,SQL等等。
- 数据索引 将您的数据结构化成便于LLM消费的中间表示形式。
- 引擎 为您的数据提供自然语言访问。例如:- 查询引擎是知识增强输出的强大检索接口。 - 聊天引擎是与您的数据进行多信息,“来回”互动的会话接口。
- 数据代理 是由工具增强的LLM驱动的知识工作者,从简单的辅助函数到API集成等等。
- 应用集成 将LlamaIndex与您的其他生态系统重新连接。这可以是LangChain,Flask,Docker,ChatGPT,等任何其他东西!
三、llama_index实战
一个没有经过阅读训练的人读东西是很慢的,完全赶不上专业大佬(比如罗振宇老师)。但是用AI可以帮我们技术平权,快速追赶上大佬。
我们可以利用llama_index一分钟读一本书,甚至是一堆书。
一)准备工作
数据准备:
我们在
data
目录下准备了一个文本类型的私有数据
环境准备:
分别安装
openai
包和llama-index
python包python
二)代码运行
1、运行流程
代码的执行流程分三步,下面的注释里面写的非常清晰。
- 构建给定目录的索引存储到本地文件
- 加载索引到内存
- 先通过索引进行向量召回,再进行对话
完整代码:Github代码链接
python
上面的代码中的key是我自己维护的,免费给大家使用,代码可以直接运行!
python
2、运行结果
llama_index运行结果如下:

GPT4运行结果如下:

总结:
我们使用llama_index的结果是基于私有数据的,所以才知道八爪鱼是个爬虫工具,而不是一种动物。
我们在索引目录放一本书,让它帮我们读书笔记,读书总结也是分分钟的事!
四、联系我
AIGC交流群:

微信:

- 作者:鹤涵
- 链接:https://hehanwang.com/article/llama_index
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。