langchain是个框架,提供了各种LLM的接口(如 OpenAI、Hugging Face、Azure OpenAI 等,并且还包含一个“Fake LLM”用于测试,确保开发者可以在不同环境下稳定、高效地使用不同供应商提供的 LLM 服务),还可以连接外部数据源(如数据库、APIs、文件系统等),然后支持缓存支持(如内存缓存、SQLite、Redis、SQL 数据库等,以减少对 LLM API 的直接调用,提高应用响应速度,同时节省成本)和流模式输出(即逐字返回结果,模拟打字效果,这对于聊天机器人这种需要实时交互的应用来说非常重要)这类的常见能力。
每个能力的调用都相当于组件一样,只需要很简单的代码逻辑。但langchain框架不是编写AI程序必须的,因为你也可以从底层开始做,比如你可以一句一句地把流式输出的逻辑写出来。与此类比的是,不用react框架也可以纯写JavaScript,但是你会失去很多成熟的组件调用。