【LangChain.js学习】调用大模型

一、调用通义千问大模型

方式1:使用 @langchain/community 专属适配器

依赖安装

bash 复制代码
pnpm add @langchain/community

调用代码

typescript 复制代码
import { ChatAlibabaTongyi } from "@langchain/community/chat_models/alibaba_tongyi";
​
// 初始化通义千问专属模型实例
const model = new ChatAlibabaTongyi({
    model: "qwen-plus",
    // 替换为个人有效阿里百炼API Key
    alibabaApiKey: "[你的阿里百炼API Key]",
});
​
// 注意:需在async函数中执行await调用
async function callTongyiModel() {
    const response = await model.invoke("为什么鹦鹉会说话?");
    console.log(response.content);
}
​
callTongyiModel();

方式2:使用 @langchain/openai 兼容接口

依赖安装

bash 复制代码
pnpm add @langchain/openai

调用代码

typescript 复制代码
import { ChatOpenAI } from "@langchain/openai"
​
// 基于OpenAI兼容接口初始化通义千问模型
const model = new ChatOpenAI({
    model: "qwen-plus",
    configuration: {
        // 阿里百炼OpenAI兼容接口固定地址,不可修改
        baseURL: "https://dashscope.aliyuncs.com/compatible-mode/v1",
        // 替换为个人有效阿里百炼API Key
        apiKey: "[你的阿里百炼API Key]",
    }
});
​
// 注意:需在async函数中执行await调用
async function callQwenByOpenAI() {
    const response = await model.invoke(`1+1=?`);
    console.log("单文本调用响应:", response.content); // 输出示例:1+1=2
}
​
callQwenByOpenAI();

二、调用 Ollama 本地模型

1. 前置条件

  • 安装 Ollama:官网下载
  • 拉取目标模型:ollama pull qwen3-vl:8b
  • 启动 Ollama 服务:ollama serve(默认端口 11434)

2. 依赖安装

bash 复制代码
pnpm add @langchain/ollama

3. 核心调用代码

typescript 复制代码
import { ChatOllama } from "@langchain/ollama"
​
// 初始化Ollama本地模型
const model = new ChatOllama({
    // 需与本地拉取的模型名称一致(执行ollama list查看)
    model: "qwen3-vl:8b",
    // Ollama默认本地地址,无需修改
    baseUrl: "http://localhost:11434"
});
​
// 异步调用函数
async function callOllamaModel() {
    const response = await model.invoke(`1+1=?`);
    console.log("Ollama本地模型响应:", response.content); // 输出示例:1+1=2
}
​
callOllamaModel();

三、核心对比与选型建议

调用方式 优点 缺点 适用场景
阿里云通义千问 模型能力强、无需本地算力、支持多模态/复杂推理 需联网、消耗 API 额度、有调用频率限制 生产环境、复杂业务逻辑、多轮对话
Ollama 本地模型 无网络依赖、隐私性高、免费使用、调试便捷 占用本地CPU/GPU、模型能力相对弱、不支持部分高级功能 本地开发调试、隐私敏感场景、轻量计算/问答
相关推荐
vipbic3 小时前
别再把“做个H5”挂嘴边了:这个词,官方压根就没有定义过
前端
ZC跨境爬虫5 小时前
跟着 MDN 学CSS day_39:(Flexbox 弹性盒子核心机制)
前端·css·ui·html·tensorflow
小陈同学呦5 小时前
前端如何处理订单状态导航的数据竞态问题
前端·javascript
喵个咪5 小时前
GoWind Toolkit 前端代码生成|Vue3(ElementPlus/Vben)、React(AntDesign)全自动一键生成教程
前端·vue.js·react.js
摆烂大大王7 小时前
玩转 OpenClaw:用 TaskFlow + Heartbeat 打造自动化工作流
前端·人工智能·自动化
zhangxingchao7 小时前
AI 大模型核心六:量化、Workflow 与 Agent、多轮 RAG
前端·人工智能·后端
梦想的颜色7 小时前
TypeScript 完全指南(上):从零开始掌握类型系统
前端·typescript
之歆7 小时前
Day01_ES6+ 专业指南:从基础到实战的现代JavaScript开发(下)
前端·javascript·es6
lichenyang4538 小时前
鸿蒙 MVVM 实战:从 Demo 到工程化,聊聊登录、状态管理与埋点系统设计
前端
IT_陈寒8 小时前
Vite打包时遇到的坑,原来问题出在这里
前端·人工智能·后端