当前位置:   article > 正文

AI探索实践13 - Typescript开发AI应用5:抓取网页、文档分割、向量存储与检索链语义检索的使用 【推荐】_ai抓取页面信息

ai抓取页面信息

大家好,我是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格式。

二、大模型的幻觉是如何产生的

和之前的示例一样,我们首先创建一个模型,并设置一个提示语模板。

  1. import { ChatOllama } from '@langchain/community/chat_models/ollama';
  2. import { ChatPromptTemplate } from '@langchain/core/prompts';
  3. import { StringOutputParser } from '@langchain/core/output_parsers';
  4. // 和之前的示例一样,我们首先创建一个模型
  5. const model = new ChatOllama({
  6. baseUrl: 'http://localhost:11434', // Default value
  7. model: 'qwen:4b',
  8. temperature: 0.7,
  9. });
  10. // 创建一个提示语模板对象
  11. const prompt = ChatPromptTemplate.fromTemplate(`
  12. 回答用户的问题。 {input}。
  13. `);
  14. // 使用字符串格式化输出
  15. const outputParser = new StringOutputParser();
  16. // 创建一个链对象
  17. const chain = prompt.pipe(model);
  18. // 输入参数,调用链
  19. const response = await chain.invoke({
  20. input: '什么是 LCEL?',
  21. });
  22. // 打印响应
  23. console.log(response);

上面的代码,我们应该很熟悉了。调用链时,提了一个简单的问题:什么是 LCEL?,看看大模型是怎么回答的:

图1

我们知道:LCEL是指 LangChain Expression Language。是LangChain技术框架中的技术术语。可通过链接:https://www.wpsshop.cn/w/码创造者/article/detail/821302

推荐阅读
相关标签
  

闽ICP备14008679号