赞
踩
大家好,我是feng,欢迎关注公众号和我一起探索。如果文章对你有所启发,请为我点赞、转发!
前后大概花了7个小时才艰难完成这5000+字的博文,虽是AI应用开发的基础逻辑,但却涉及到开发一个AI应用所需要掌握的多个知识点。个人觉着可以此文为基础,仔细阅读LangChain官网的相关内容,一定会让你有所收获。
LangChain最重要的功能之一,就是它能够将AI应用程序连接到外部的数据源并进行检索处理。
博文《AI探索实践9 - Typescript开发AI应用1:不用Python!用前端也能开发一个本地运行的“ChatGPT”!》
介绍了前端程序直连本地大模型,实现“ChatGPT”的应用效果。
博文《AI探索实践10 - Typescript开发AI应用2:前端实现本地模型流式响应输出》介绍了如何实现大模型响应在前端页面的打字机效果。
博文《AI探索实践11 - Typescript开发AI应用3:Prompt Template (提示语模版) 功能》介绍了提示语模板的作用和使用方法。
博文《AI探索实践12 - Typescript开发AI应用4:大模型响应数据的格式化输出》介绍了如何控制大模型输出的内容格式,比如输出json格式。
和之前的示例一样,我们首先创建一个模型,并设置一个提示语模板。
- import { ChatOllama } from '@langchain/community/chat_models/ollama';
- import { ChatPromptTemplate } from '@langchain/core/prompts';
- import { StringOutputParser } from '@langchain/core/output_parsers';
-
- // 和之前的示例一样,我们首先创建一个模型
- const model = new ChatOllama({
- baseUrl: 'http://localhost:11434', // Default value
- model: 'qwen:4b',
- temperature: 0.7,
- });
-
- // 创建一个提示语模板对象
- const prompt = ChatPromptTemplate.fromTemplate(`
- 回答用户的问题。 {input}。
- `);
-
- // 使用字符串格式化输出
- const outputParser = new StringOutputParser();
-
- // 创建一个链对象
- const chain = prompt.pipe(model);
-
- // 输入参数,调用链
- const response = await chain.invoke({
- input: '什么是 LCEL?',
- });
-
- // 打印响应
- console.log(response);
上面的代码,我们应该很熟悉了。调用链时,提了一个简单的问题:什么是 LCEL?,看看大模型是怎么回答的:
图1
我们知道:LCEL是指 LangChain Expression Language。是LangChain技术框架中的技术术语。可通过链接:https://www.wpsshop.cn/w/码创造者/article/detail/821302
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。