ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Langchain基础(1)

Langchain基础(1) 一句话定位Langchain是什么LangChain 是一个大模型应用开发框架Python/JS核心目标把大语言模型LLM和外部能力串联起来快速做复杂 AI 应用而不只是简单调用接口。你之前写的StrOutputParser就是它里面的组件。核心解决什么痛点直接调用大模型 API 有局限模型知识是静态的不知道你本地文件、数据库、网页内容没法自动完成多步骤任务比如查文档→总结→翻译→输出 JSON不好管理历史对话、控制输出格式、调用工具LangChain 提供现成组件帮你搞定这些。实现最简单的一个大预言模型的调用我们先要安装对应的库openai,langchain导入库定义模型定义消息开始调用模型我们调试一下他给我们返回的是aimessageresponse_metadata接口给了你什么这里就装什么usage_metadataLangChain 0.2 新增的标准属性专门放 token 计费信息他会给我们返回一大串的内容,如果只想要ai的回答当然也可以用一些其他的组件也可以用链来解决大家会发现不管是模型、提示模板、解析器还是拼接好的整条链式流程代码里都在调用invoke这并不是巧合。在 LangChain 中所有实现了Runnable可运行单元抽象的组件都对外提供一套统一的调用规范invoke同步调用传入输入并一次性获取完整结果stream流式调用分块返回输出实现打字机效果batch批量调用支持多组输入并发执行像对话模型ChatOpenAI、提示词模板ChatPromptTemplate、输出解析器StrOutputParser以及用|组装出来的 LCEL 链路全部都属于Runnable。这也是 LangChain 非常关键的设计思想统一上层调用接口屏蔽底层的接口差异。原生开发时不同大模型厂商的 SDK、API 调用方式各不相同OpenAI、通义千问、Ollama 的原生请求写法、入参结构、返回格式都有区别。如果直接对接原生接口切换模型就要大量修改调用逻辑、参数配置和结果解析代码迁移成本很高。而在 LangChain 里各类模型都被封装成标准的Runnable对象。我们只需要修改模型实例化的那一小段代码上层的业务逻辑、invoke调用方式完全不用改动链式链路prompt | model | parser也可以直接复用极大降低了切换模型的成本。如何理解chain的调用呢?就是将model调用的返回值,作为parser的参数既然如此可以有下面两种调用方法
返回列表