项目介绍
LangChain 学习样例是一组最小可运行脚本,用来理解 LangChain 的模型调用方式,而不是一个 Web 服务。
示例覆盖模型初始化、同步调用、流式输出、批量调用、异步并发,以及 DashScope 与本地 Ollama 的切换。
技术栈
- 语言:Python 3.11+
- 框架:LangChain 1.x
- 模型:DashScope OpenAI 兼容接口、Ollama 本地模型
- 依赖:langchain-openai、langchain-ollama、python-dotenv、rich
功能清单
| 示例 | 内容 |
|---|---|
my_model.py |
模型工厂:DashScope / Ollama 切换,参数可覆盖 |
syncinvoke.py |
同步调用、文本/字典/消息对象三种输入、对话历史 |
syncinvoke.py |
AIMessage 元数据、stream 流式、batch 批量 |
asyncinvoke.py |
ainvoke 非阻塞、astream 流式、abatch 并发 |
ollama_demo.py |
本地 Ollama 模型调用与流式输出 |
美化输出.py |
用 rich 查看模型 profile、字段与回答 |
技术架构
Python 脚本
│
├─ my_model.py
│ init_chat_model(provider)
│ ├─ dashscope → OpenAI 兼容
│ └─ ollama → 本地模型
│
├─ invoke / stream / batch
└─ asyncio
ainvoke / astream / abatch
所有示例通过 getChatModel(provider) 获取模型,切换供应商只改一处;异步示例用 asyncio.create_task 在等待模型时并行执行本地任务。