Javascript版Langchain入门

Javascript版Langchain入门

首页休闲益智弹跳者更新时间:2024-05-17
Javascript版Langchain入门

我是AI小火箭的HB,我探索和写作人工智能和语言交叉点的所有事物,范围从LLM,聊天机器人,语音机器人,开发框架,以数据为中心的潜在空间等。

介绍

LangChain是一个开源Python库,用于构建由大型语言模型(LLM)支持的应用程序。它提供了一个框架,将LLM与其他数据源(如互联网或个人文件)连接起来,允许开发人员将多个命令链接在一起,以创建更复杂的应用程序。LangChain创建于2022年10月,是围绕LLMs(大语言模型)建立的一个框架,LLMs使用机器学习算法和海量数据来分析和理解自然语言。LangChain自身并不开发LLMs,它的核心理念是为各种LLMs实现通用的接口,把LLMs相关的组件“链接”在一起,简化LLMs应用的开发难度,方便开发者快速地开发复杂的LLMs应用。

支持的语言

LangChain目前有两个语言的实现:Python和Node.js。

组件

LangChain的组件包括:

使用场景

LangChain的使用场景包括:构建聊天机器人、文本生成、文本分类、问答系统、语言翻译、语言模型微调等。

安装依赖库

npminstall-SlangchainHello World

首先,使用Langchain来调用OpenAI模型。

import{OpenAI}from"langchain/llms/openai"; constmodel=newOpenAI({ openAIApiKey:'sk-xxxx',//你的OpenAIAPIKey temperature:0.9 }); constres=awaitmodel.call( "写一首诗,限制20个字" ); console.log(res);

输出

春风迎新年,喜气绕家园。 祝福短信语,友谊永绵长。替换提示语中的参数

import{OpenAI}from"langchain/llms/openai"; import{PromptTemplate}from"langchain/prompts"; import{LLMChain}from"langchain/chains"; constmodel=newOpenAI({ openAIApiKey:'sk-xxxx',//你的OpenAIAPIKey temperature:0.9 }); consttemplate="Whatisagoodnameforacompanythatmakes{product}?"; constprompt=newPromptTemplate({ template:template, inputVariables:["product"], }); constchain=newLLMChain({llm:model,prompt:prompt}); constres=awaitchain.call({product:"colorfulsocks"}); console.log(res);开始见识Langchain的强大

截止上个实例,你还没见识到Langchain的强大。

接下来,你先注册一个SerpApi帐号,获取api key。

点击这里注册

然后执行以下的代码,

import{OpenAI}from"langchain/llms/openai"; import{initializeAgentExecutorWithOptions}from"langchain/agents"; import{SerpAPI}from"langchain/tools"; import{Calculator}from"langchain/tools/calculator"; constmodel=newOpenAI({ streaming:true, openAIApiKey:'sk-xxxx',//你的OpenAIAPIKey temperature:0.9 }); consttools=[ newSerpAPI('你的SerpAPI的key',{ location:"Austin,Texas,UnitedStates", hl:"en", gl:"us", }), newCalculator(), ]; constexecutor=awaitinitializeAgentExecutorWithOptions(tools,model,{ agentType:"zero-shot-react-description", }); console.log("Loadedagent."); constinput= "谁是周杰伦的老婆?" "她的年纪加上10是多少?" console.log(`Executingwithinput"${input}"...`); constresult=awaitexecutor.call({input}); console.log(`Gotoutput${result.output}`);

输出:

Loadedagent. Executingwithinput"谁是周杰伦的老婆?她的年纪加上10是多少?"... GotoutputHannahQuinlivanisZhouJielun'swifeandsheis39yearsold.

执行结果做了两件事,

  1. 1. 使用SerpAPI工具获取周杰伦的老婆的名字:Quinlivan
  2. 2. 然后获取她的年龄:29岁
  3. 3. 最后使用Calculator工具加上10:最终得到39岁的结果

这里引进了Langchain的agents概念:代理。

决定模型采取哪些行动,执行并且观察流程,直到完成为止。

代码中引进了两个工具:SerpAPI和Calculator:

consttools=[ newSerpAPI('你的SerpAPI的key',{ location:"Austin,Texas,UnitedStates", hl:"en", gl:"us", }), newCalculator(), ];AI小火箭

使用AI小火箭也可以直接使用OpenAI的接口,快速使用,价格远低于OpenAI。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved