langchain 介绍
了解项目的详细信息和使用方法
🦜️🔗 LangChain
生产支持: 当您将LangChains投入生产时,我们非常乐意提供更多的实际支持。 填写此表格以分享更多关于您正在构建的内容,我们的团队会与您联系。
🚨7/28/23对部分链(SQLDatabase)的重大更改
为了使langchain
更加精简和安全,我们将部分链移至langchain_experimental
。
这个迁移已经开始,但我们仍然向后兼容,直到7/28。
在那个日期,我们将从langchain
中删除功能。
在这里阅读更多关于动机和进展的信息。
在这里阅读如何迁移您的代码。
快速安装
pip install langchain
或
pip install langsmith && conda install langchain -c conda-forge
🤔这是什么?
大型语言模型(LLMs)正在成为一种具有变革性的技术,使开发人员能够构建以前无法实现的应用程序。然而,仅仅使用这些LLMs往往不足以创建一个真正强大的应用程序 - 真正的力量来自于将它们与其他计算或知识来源结合起来。
这个库旨在帮助开发这些类型的应用程序。这些应用程序的常见示例包括:
❓ 针对特定文档的问答
- 文档
- 端到端示例:对Notion数据库进行问答
💬 聊天机器人
- 文档
- 端到端示例:Chat-LangChain
🤖 代理
- 文档
- 端到端示例:GPT+WolframAlpha
📖 文档
请参阅这里以获取关于以下内容的完整文档:
- 入门(安装、设置环境、简单示例)
- 如何示例(演示、集成、辅助函数)
- 参考(完整的API文档)
- 资源(核心概念的高级解释)
🚀 这可以帮助什么?
LangChain的设计旨在帮助六个主要领域。这些领域按照复杂性递增的顺序如下:
📃 LLMs和Prompts:
这包括提示管理、提示优化、通用LLMs接口以及处理LLMs的常用工具。
🔗 链:
链不仅仅是单个LLM调用,它涉及到一系列调用(无论是对LLM还是其他工具)。LangChain提供了链的标准接口、与其他工具的集成以及常见应用程序的端到端链。
📚 数据增强生成:
数据增强生成涉及到特定类型的链,这些链首先与外部数据源进行交互,以获取用于生成步骤的数据。示例包括长文本的摘要和特定数据源的问答。
🤖 代理:
代理涉及到一个LLM对要采取的操作进行决策,执行该操作,观察结果,并重复此过程直到完成。LangChain为代理提供了标准接口、一系列可供选择的代理和端到端代理的示例。
🧠 存储器:
存储器是指在链/代理的调用之间持久化状态。LangChain为存储器提供了标准接口、一组存储器实现和使用存储器的链/代理示例。
🧐 评估:
[BETA] 生成模型在传统度量标准下很难评估。一种新的评估方法是使用语言模型自身进行评估。LangChain提供了一些用于辅助评估的提示/链。
有关这些概念的更多信息,请参阅我们的完整文档。
💁 贡献
作为一个开源项目,在一个快速发展的领域,我们非常欢迎贡献,无论是新功能、改进基础设施还是更好的文档。
有关如何贡献的详细信息,请参阅这里。