1.什么是LangChain
LangChain是一个开源的开发框架,使用Python构建基于大模型的AI应用相关的模块和工具。通过LangChain,可以完成LLM集成。
1.1 LangChain的特性
- LLM和Prompt:LangChain对所有LLM大模型进行了API抽象,统一了大模型访问 API,同时提供了 Prompt 提示模板管理机制
- Chain(链):Langchain 对一些常见的场景封装了一些现成的模块,eg.上下文的问答系统,自然语言生成 SQL查询这种任务的过程就是一个工作流,一步一步的执行,所以叫chain
- LCEL:LangChain Expression Language,用于解决工作流编排问题,通过LCEL表达式,可以自定义AI任务处理流程(自定义链Chain)
- RAG(数据增强生成):LLM不能直接知道新的信息,所以可以将新的信息导入到LLM,用于增强LLM的内容质量,这种模式一般称为RAG模式
- Agents:基于LLM的的应用设计模式,利用LLM的自然语言理解和推理,根据用户的需求自动调用外部系统,共同去完成任务
- Memory(模型记忆):记住之前的LLM对话内容
2.LangChain框架组成
四个部分:
- LangChain库:python和js库,有接口和集成多种组件的运行基础,以及一些现成的chain和代理实现
- LangChain模版:官方提供的一些AI任务模版
- LangServe:基于FastAPI可以将LangChain定义的chain发布成REST API
- LangSmith:一个云服务开发平台,可以debug和任务监控
3.LangChain库
三个包组成:
- langchain-core:基础抽象和langchain表达语言
- langchain-community:第三方集成组件
- langchain:chain、代理、检索策略

