Home/Vector Databases/LangChain-Chinese-Getting-Started-Guide
LangChain-Chinese-Getting-Started-Guide logo

LangChain-Chinese-Getting-Started-Guide

Enrichment pending
liaokongVFX/LangChain-Chinese-Getting-Started-Guide

LangChain 的中文入门教程

GraphCanon updated today · GitHub synced today

9.1k
Stars
711
Forks
2
Open issues
46
Watchers
2mo
Last push
Created Apr 7, 2023

Trust & integrity

Full report
Maintenance
Steady (79d since push)
As of today · Source: github_public_v1
Provenance
Not a fork · Personal account
As of today · Source: github_public_v1
Security (OSV)
No lockfile
As of today · Source: none

Public GitHub metadata and optional OSV dependency scans. Signals, not a guarantee. Trust methodology.

Overview

LangChain 的中文入门教程

Capability facts

No sourced capability facts yet. Facts appear after ingest scans repo manifests (Dockerfile, package.json, MCP configs).

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

LangChain integrationLangChain

Source: README excerpt (regex_v1, Jul 11, 2026)

# LangChain 中文入门教程
Source link
OpenAI APIOpenAI API

Source: README excerpt (regex_v1, Jul 11, 2026)

> 如果想把 OPENAI API 的请求根路由修改成自己的代理地址,可以通过设置环境变量 “OPENAI\_API\_BASE” 来进行修改。
Source link
Python runtimePython

Source: README excerpt (regex_v1, Jul 11, 2026)

> 相关参考代码:[https://github.com/openai/openai-python/blob/d6fa3bfaae69d639b0dd2e9251b375d7070bbef1/openai/\_\_init\_\_.py#L48](https
Source link

Tags

README

LangChain 中文入门教程

为了便于阅读,已生成gitbook:https://liaokong.gitbook.io/llm-kai-fa-jiao-cheng/

github地址:https://github.com/liaokongVFX/LangChain-Chinese-Getting-Started-Guide

另外一篇《Model Context Protocol(MCP) 编程极速入门》

《LangChain技术解密:构建大模型应用的全景指南》现已出版:https://item.jd.com/14598210.html

因为langchain库一直在飞速更新迭代,但该文档写与4月初,并且我个人精力有限,所以colab里面的代码有可能有些已经过时。如果有运行失败的可以先搜索一下当前文档是否有更新,如文档也没更新欢迎提issue,或者修复后直接提pr,感谢~

加了个 CHANGELOG,更新了新的内容我会写在这里,方便之前看过的朋友快速查看新的更新内容

如果想把 OPENAI API 的请求根路由修改成自己的代理地址,可以通过设置环境变量 “OPENAI_API_BASE” 来进行修改。

相关参考代码:https://github.com/openai/openai-python/blob/d6fa3bfaae69d639b0dd2e9251b375d7070bbef1/openai/__init__.py#L48

或在初始化OpenAI相关模型对象时,传入“openai_api_base” 变量。

相关参考代码:https://github.com/hwchase17/langchain/blob/master/langchain/llms/openai.py#L148

介绍

众所周知 OpenAI 的 API 无法联网的,所以如果只使用自己的功能实现联网搜索并给出回答、总结 PDF 文档、基于某个 Youtube 视频进行问答等等的功能肯定是无法实现的。所以,我们来介绍一个非常强大的第三方开源库:LangChain

文档地址:https://python.langchain.com/en/latest/

这个库目前非常活跃,每天都在迭代,已经有 22k 的 star,更新速度飞快。

LangChain 是一个用于开发由语言模型驱动的应用程序的框架。他主要拥有 2 个能力:

  1. 可以将 LLM 模型与外部数据源进行连接
  2. 允许与 LLM 模型进行交互

LLM 模型:Large Language Model,大型语言模型

基础功能

LLM 调用

  • 支持多种模型接口,比如 OpenAI、Hugging Face、AzureOpenAI ...
  • Fake LLM,用于测试
  • 缓存的支持,比如 in-mem(内存)、SQLite、Redis、SQL
  • 用量记录
  • 支持流模式(就是一个字一个字的返回,类似打字效果)

Prompt管理,支持各种自定义模板

拥有大量的文档加载器,比如 Email、Markdown、PDF、Youtube ...

对索引的支持

  • 文档分割器
  • 向量化
  • 对接向量存储与搜索,比如 Chroma、Pinecone、Qdrand

Chains

  • LLMChain
  • 各种工具Chain
  • LangChainHub

必知概念

相信大家看完上面的介绍多半会一脸懵逼。不要担心,上面的概念其实在刚开始学的时候不是很重要,当我们讲完后面的例子之后,在回来看上面的内容会一下明白很多。

但是,这里有几个概念是必须知道的。

Loader 加载器

顾名思义,这个就是从指定源进行加载数据的。比如:文件夹 DirectoryLoader、Azure 存储 AzureBlobStorageContainerLoader、CSV文件 CSVLoader、印象笔记 EverNoteLoader、Google网盘 GoogleDriveLoader、任意的网页 UnstructuredHTMLLoader、PDF PyPDFLoader、S3 S3DirectoryLoader/S3FileLoader

Youtube YoutubeLoader 等等,上面只是简单的进行列举了几个,官方提供了超级的多的加载器供你使用。

https://python.langchain.com/docs/how_to/#document-loaders

Document 文档

当使用loader加载器读取到数据源后,数据源需要转换成 Document 对象后,后续才能进行使用。

Text Spltters 文本分割

顾名思义,文本分割就是用来分割文本的。为什么需要分割文本?因为我们每次不管是做把文本当作 prompt 发给 openai api ,还是还是使用 openai api embedding 功能都是有字符限制的。

比如我们将一份300页的 pdf 发给 openai api,让他进行总结,他肯定会报超过最大 Token 错。所以这里就需要使用文本分割器去分割我们 loader 进来的 Document。

Vectorstores 向量数据库

因为数据相关性搜索其实是向量运算。所以,不管我们是使用 openai api embedding 功能还是直接通过向量数据库直接查询,都需要将我们的加载进来的数据 Document 进行向量化,才能进行向量运算搜索。转换成向量也很简单,只需要我们把数据存储到对应的向量数据库中即可完成向量的转换。

官方也提供了很多的向量数据库供我们使用。

https://python.langchain.com/docs/integrations/vectorstores/

Chain 链

我们可以把 Chain 理解为任务。一个 Chain 就是一个任务,当然也可以像链条一样,一个一个的执行多个链。

Agent 代理

我们可以简单的理解为他可以动态的帮我们选择和调用chain或者已有的工具。

执行过程可以参考下面这张图:

Embedding

用于衡量文本的相关性。这个也是 OpenAI API 能实现构建自己知识库的关键所在。

他相比 fine-tuning 最大的优势就是,不用进行训练,并且可以实时添加新的内容,而不用加一次新的内容就训练一次,并且各方面成本要比 fine-tuning 低很多。

具体比较和选择可以参考这个视频:https://www.youtube.com/watch?v=9qq6HTr7Ocw

实战

通过上面的必备概念大家应该已经可以对 LangChain 有了一定的了解,但是可能还有有些懵。

这都是小问题,我相信看完后面的实战,你们就会彻底的理解上面的内容,并且能感受到这个库的真正强大之处。

因为我们 OpenAI API 进阶,所以我们后面的范例使用的 LLM 都是以Open AI 为例,后面大家可以根据自己任务的需要换成自己需要的 LLM 模型即可。

当然,在这篇文章的末尾,全部的全部代码都会被保存为一个 colab 的 ipynb 文件提供给大家来学习。

建议大家按顺序去看每个例子,因为下一个例子会用到上一个例子里面的知识点。

当然,如果有看不懂的也不用担心,可以继续往后看,第一次学习讲究的是不求甚解。

完成一次问答

第一个案例,我们就来个最简单的,用 LangChain 加载 OpenAI 的模型,并且完成一次问答。

在开始之前,我们需要先设置我们的 openai 的 key,这个 key 可以在用户管理里面创建,这里就不细说了。

import os
os.environ["OPENAI_API_KEY"] = '你的api key'

然后,我们进行导入和执行

from langchain.llms import OpenAI

llm = OpenAI(model_name="text-da