LlamaIndex:解锁大型语言模型的上下文增强能力
在人工智能快速发展的今天,大型语言模型(LLMs)已成为自然语言处理领域的基石,为人类与数据之间的交互提供了自然语言接口。然而,尽管LLMs在大量公开数据上进行了预训练,它们并未接触到你的特定数据,这些数据可能是私有的,或是针对你试图解决的问题而定制的。这些数据可能隐藏在API之后,存储在SQL数据库中,或被困在PDF和幻灯片中。
什么是上下文增强?
上下文增强使得你的数据能够被LLM用于解决当前的问题。LlamaIndex提供了从原型到生产阶段构建任何上下文增强用例的工具。我们的工具允许你摄取、解析、索引和处理你的数据,并快速实现复杂的查询工作流程,将数据访问与LLM提示相结合。
最流行的上下文增强例子是检索增强生成(RAG),它在推理时将上下文与LLMs结合。
LlamaIndex:上下文增强LLM应用的数据框架
LlamaIndex对如何使用LLMs没有任何限制。你可以将LLMs用作自动补全、聊天机器人、半自主代理等。它只是让使用它们变得更加容易。我们提供的工具包括:
- 数据连接器:从其原生源和格式中摄取你现有的数据,这些数据可以是API、PDF、SQL等。
- 数据索引:将你的数据结构化为易于且高效供LLMs消费的中间表示。
- 引擎:提供自然语言访问你的数据。例如:
- 查询引擎:强大的问答接口(例如RAG流程)。
- 聊天引擎:多消息的“来回”交互式数据接口。
- 代理:由工具增强的LLM驱动的知识工作者,从简单的辅助函数到API集成等。
- 可观测性/评估集成:使你能够严格实验、评估和监控你的应用,形成良性循环。
用例
LlamaIndex和上下文增强的一些流行用例包括:
- 问答(检索增强生成,即RAG)
- 聊天机器人
- 文档理解和数据提取
- 能够进行研究和采取行动的自主代理
- 结合文本、图像和其他数据类型的多模态应用
- 在数据上微调模型以提高性能
查看我们的用例文档,了解更多示例和教程链接。
LlamaIndex适合谁?
LlamaIndex为初学者、高级用户以及介于两者之间的所有人提供工具。
我们的高级API允许初学者用户在5行代码中使用LlamaIndex摄取和查询他们的数据。
对于更复杂的应用,我们的低级API允许高级用户自定义和扩展任何模块——数据连接器、索引、检索器、查询引擎、重排序模块——以满足他们的需求。
入门指南
LlamaIndex在Python(这些文档)和Typescript中可用。如果你不确定从哪里开始,我们建议阅读如何阅读这些文档,这些文档会根据你的经验水平为你指明正确的方向。
30秒快速入门
设置一个名为OPENAI_API_KEY的环境变量,包含一个OpenAI API密钥。安装Python库:
pip install llama-index
将一些文档放入名为data的文件夹中,然后使用我们著名的5行代码入门示例询问有关它们的问题:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("data").load_data()
index = VectorStoreIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("这里应该放一个关于数据的问题")
print(response)
如果这部分让你感到困惑,别担心!查看我们使用远程API(如OpenAI)或任何运行在你笔记本电脑上的模型的更全面的入门教程。
LlamaCloud
如果你是企业开发者,请查看LlamaCloud。它是一个端到端的管理服务,用于数据解析、摄取、索引和检索,使你能够为你的生产LLM应用获取生产质量的数据。它既可以托管在我们的服务器上,也可以作为自托管解决方案。
LlamaParse
LlamaParse是我们最先进的文档解析解决方案。它作为LlamaCloud的一部分提供,也可以作为自助服务API使用。你可以注册并免费解析每天最多1000页,或输入信用卡进行无限解析。了解更多信息。
社区
需要帮助?有功能建议?加入LlamaIndex社区:
- Discord
获取库
- LlamaIndex Python
- LlamaIndex Python Github
- Python Docs(你正在阅读的文档)
- LlamaIndex on PyPi
- LlamaIndex.TS(Typescript/Javascript包)
- LlamaIndex.TS Github
- TypeScript Docs
- LlamaIndex.TS on npm
贡献
我们是开源的,始终欢迎对项目的贡献!查看我们的贡献指南,了解如何扩展核心库或添加第三方集成(如LLM、向量存储、代理工具等)的完整细节。
相关项目
LlamaIndex宇宙还有更多!查看我们的一些其他项目:
- LlamaHub | 大量(且不断增长!)的自定义数据连接器集合
- SEC Insights | 由LlamaIndex驱动的金融研究应用
- create-llama | 快速搭建LlamaIndex项目的CLI工具
通过LlamaIndex,我们不仅提供了一个强大的工具集,还构建了一个充满活力的社区,致力于推动LLMs在各种应用中的潜力。无论你是初学者还是经验丰富的开发者,LlamaIndex都为你提供了探索和实现上下文增强LLM应用的途径。加入我们,一起解锁LLMs的无限可能!