[Nodejs+LangChain+Ollama] 1.第一个案例
上一世,在中国Ai人工智能的市场被Java和Python垄断,这一世我Nodejs要夺回我失去的一切!
上一世,在中国Ai人工智能的市场被Java和Python垄断,这一世我Nodejs要夺回我失去的一切!
基础
基本认识
LangChain
提供一套提示词模板(prompt template)管理工具,负责处理提示词,然后船体给大模型处理,最后处理大模型返回结果,LangChain
对大模型的封装主要包括LLM
和Chat Modal
两种类型。
LLM
- 问答模型,模型接受一个文本输入,然后返回一个文本结果。Chat Modal
- 对话模型,接收一组对话消息,然后返回对话消息,类似聊天消息一样。
核心概念
LLMs
LangChain
封装的基础模型,模型接收一个文本输入,然后返回一个文本结果。
Chat Modals
聊天模型(或者称为对话模型),与LLMs不同,这些模型转为对话场景而设计。模型可以接收一组对话消息,然后返回对话消息,类似聊天消息一样。
Message
指的是聊天模型(Chat Models)的消息内容,消息类型包括HumanMessage、AIMessage、SystemMessage、FunctionMessage和ToolMessage等多种类型消息。
Prompts
LangChain
封装了一些专门用于提示词(prompts)管理的工具类,方便我们格式化提示词(prompts)内容。
Output Parsers
LangChain
接受大模型(llm)返回的文本内容之后,可以使用专门的输出解析器对文本内容进行格式化,例如解析json、或者将llm输出的内容转为js对象。
Retrievers
为方便我们将私有数据导入到大模型(LLM),提高模型回答问题的质量,LangChain
封装了检索框架(Retrievers),方便我们加载文档数据、切割文档数据、存储和检索文档数据。
Vector Stores
为支持私有数据的语义相似搜索,LangChain
支持多种向量数据库。
Agents
智能体(Agents),通常指的是以大模型(LLM)作为决策引擎,根据用户输入的任务,自动调用外部系统、硬件设备共同完成用户的任务,是一种以大模型(LLM)为核心的应用设计模式。
应用场景
- 对话机器人:构建智能的对话助手、客服机器人、聊天机器人等。
- 知识库问答:结合知识图谱,进行开放域问题的问答服务。
- 智能写作:如文章写作、创意写作、文本摘要等。
快速入门
前提
需要自己提前安装好 Ollama ,以及在本地进行模型部署。如果不会操作可以看 本地部署DeepSeek Nodejs版-CSDN博客 。这个以DeepSeek为例子,教你们如何在本地部署一个基座模型。
安装LangChain
pnpm add langchain @langchain/community @langchain/core @langchain/ollama
入门Demo
import { PromptTemplate } from "@langchain/core/prompts";
import { ChatOllama } from '@langchain/ollama';
import { StringOutputParser } from "@langchain/core/output_parsers";
// 初始化模型
const llm = new ChatOllama({
model: 'qwen3:0.6b'
});
// 设置提示词
const prompt = new PromptTemplate({
template: "你是一个世界级技术专家\n\n用户问题:{input}",
inputVariables: ['input']
})
// 创建字符串解析器
const parser = new StringOutputParser();
// 调用模型
const run = async () => {
const chain = prompt.pipe(llm).pipe(parser);
const chainResult = await chain.invoke({ input: "什么是机器学习?" });
console.log(chainResult);
}
run()
更多推荐
所有评论(0)