最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Javascript版Langchain入門(mén)

2023-06-24 00:08 作者:AI小火箭  | 我要投稿

Javascript版Langchain入門(mén)

作者:AI小火箭的HB

我是AI小火箭的HB,我探索和寫(xiě)作人工智能和語(yǔ)言交叉點(diǎn)的所有事物,范圍從LLM,聊天機(jī)器人,語(yǔ)音機(jī)器人,開(kāi)發(fā)框架,以數(shù)據(jù)為中心的潛在空間等。

介紹

LangChain是一個(gè)開(kāi)源Python庫(kù),用于構(gòu)建由大型語(yǔ)言模型(LLM)支持的應(yīng)用程序。它提供了一個(gè)框架,將LLM與其他數(shù)據(jù)源(如互聯(lián)網(wǎng)或個(gè)人文件)連接起來(lái),允許開(kāi)發(fā)人員將多個(gè)命令鏈接在一起,以創(chuàng)建更復(fù)雜的應(yīng)用程序。LangChain創(chuàng)建于2022年10月,是圍繞LLMs(大語(yǔ)言模型)建立的一個(gè)框架,LLMs使用機(jī)器學(xué)習(xí)算法和海量數(shù)據(jù)來(lái)分析和理解自然語(yǔ)言。LangChain自身并不開(kāi)發(fā)LLMs,它的核心理念是為各種LLMs實(shí)現(xiàn)通用的接口,把LLMs相關(guān)的組件“鏈接”在一起,簡(jiǎn)化LLMs應(yīng)用的開(kāi)發(fā)難度,方便開(kāi)發(fā)者快速地開(kāi)發(fā)復(fù)雜的LLMs應(yīng)用。

支持的語(yǔ)言

LangChain目前有兩個(gè)語(yǔ)言的實(shí)現(xiàn):Python和Node.js。

組件

LangChain的組件包括:

  • ??Models:模型,各種類型的模型和模型集成,比如GPT-4。

  • ??Prompts:提示,包括提示管理、提示優(yōu)化和提示序列化。

  • ??Memory:記憶,用來(lái)保存和模型交互時(shí)的上下文狀態(tài)。

  • ??Indexes:索引,用來(lái)結(jié)構(gòu)化文檔,以便和模型交互。

  • ??Chains:鏈,一系列對(duì)各種組件的調(diào)用。

  • ??Agents:代理,決定模型采取哪些行動(dòng),執(zhí)行并且觀察流程,直到完成為止。

使用場(chǎng)景

LangChain的使用場(chǎng)景包括:構(gòu)建聊天機(jī)器人、文本生成、文本分類、問(wèn)答系統(tǒng)、語(yǔ)言翻譯、語(yǔ)言模型微調(diào)等。

安裝依賴庫(kù)

npm?install?-S?langchain

Hello World

首先,使用Langchain來(lái)調(diào)用OpenAI模型。

import?{?OpenAI?}?from?"langchain/llms/openai";

const?model?=?new?OpenAI({
????openAIApiKey:?'sk-xxxx',//你的OpenAI?API?Key
????temperature:?0.9
});

const?res?=?await?model.call(
????"寫(xiě)一首詩(shī),限制20個(gè)字"
);
console.log(res);

輸出



春風(fēng)迎新年,喜氣繞家園。
祝福短信語(yǔ),友誼永綿長(zhǎng)。

替換提示語(yǔ)中的參數(shù)

import?{?OpenAI?}?from?"langchain/llms/openai";
import?{?PromptTemplate?}?from?"langchain/prompts";
import?{?LLMChain?}?from?"langchain/chains";

const?model?=?new?OpenAI({
????openAIApiKey:?'sk-xxxx',//你的OpenAI?API?Key
????temperature:?0.9
});
const?template?=?"What?is?a?good?name?for?a?company?that?makes?{product}?";
const?prompt?=?new?PromptTemplate({
????template:?template,
????inputVariables:?["product"],
});

const?chain?=?new?LLMChain({?llm:?model,?prompt:?prompt?});
const?res?=?await?chain.call({?product:?"colorful?socks"?});
console.log(res);

開(kāi)始見(jiàn)識(shí)Langchain的強(qiáng)大

截止上個(gè)實(shí)例,你還沒(méi)見(jiàn)識(shí)到Langchain的強(qiáng)大。

接下來(lái),你先注冊(cè)一個(gè)SerpApi帳號(hào),獲取api key。

點(diǎn)擊這里注冊(cè)

然后執(zhí)行以下的代碼,

import?{?OpenAI?}?from?"langchain/llms/openai";
import?{?initializeAgentExecutorWithOptions?}?from?"langchain/agents";
import?{?SerpAPI?}?from?"langchain/tools";
import?{?Calculator?}?from?"langchain/tools/calculator";

const?model?=?new?OpenAI({
????streaming:?true,
????openAIApiKey:?'sk-xxxx',//你的OpenAI?API?Key
????temperature:?0.9
});
const?tools?=?[
????new?SerpAPI('你的SerpAPI的key',?{
????????location:?"Austin,Texas,United?States",
????????hl:?"en",
????????gl:?"us",
????}),
????new?Calculator(),
];

const?executor?=?await?initializeAgentExecutorWithOptions(tools,?model,?{
????agentType:?"zero-shot-react-description",
});
console.log("Loaded?agent.");

const?input?=
????"誰(shuí)是周杰倫的老婆?"?+
????"她的年紀(jì)加上10是多少?"
console.log(`Executing?with?input?"${input}"...`);

const?result?=?await?executor.call({?input?});

console.log(`Got?output?${result.output}`);

輸出:

Loaded?agent.
Executing?with?input?"誰(shuí)是周杰倫的老婆?她的年紀(jì)加上10是多少?"...
Got?output?Hannah?Quinlivan?is?Zhou?Jielun's?wife?and?she?is?39?years?old.

執(zhí)行結(jié)果做了兩件事,

  1. 1.?使用SerpAPI工具獲取周杰倫的老婆的名字:Quinlivan

  2. 2.?然后獲取她的年齡:29歲

  3. 3.?最后使用Calculator工具加上10:最終得到39歲的結(jié)果

這里引進(jìn)了Langchainagents概念:代理。

決定模型采取哪些行動(dòng),執(zhí)行并且觀察流程,直到完成為止。

代碼中引進(jìn)了兩個(gè)工具:SerpAPICalculator

const?tools?=?[
????new?SerpAPI('你的SerpAPI的key',?{
????????location:?"Austin,Texas,United?States",
????????hl:?"en",
????????gl:?"us",
????}),
????new?Calculator(),
];

AI小火箭

使用AI小火箭也可以直接使用OpenAI的接口,快速使用,價(jià)格遠(yuǎn)低于OpenAI。


Javascript版Langchain入門(mén)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
博兴县| 太湖县| 敦煌市| 泰兴市| 金坛市| 凌海市| 金昌市| 罗田县| 涟源市| 华安县| 黑龙江省| 阿坝| 曲靖市| 揭西县| 宜丰县| 许昌市| 柳江县| 榕江县| 滦南县| 鱼台县| 周口市| 定西市| 镇沅| 郎溪县| 桓仁| 临澧县| 林甸县| 榆树市| 小金县| 全南县| 通城县| 玛纳斯县| 西平县| 东平县| 五大连池市| 余干县| 石首市| 滨州市| 万全县| 界首市| 稷山县|