最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Javascript版Langchain入門教程解析

 更新時間:2023年06月25日 09:35:25   作者:文質(zhì)彬彬的煎餅  
這篇文章主要介紹了Javascript版Langchain入門教程解析

引言

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

介紹

LangChain是一個開源Python庫,用于構(gòu)建由大型語言模型(LLM)支持的應(yīng)用程序。它提供了一個框架,將LLM與其他數(shù)據(jù)源(如互聯(lián)網(wǎng)或個人文件)連接起來,允許開發(fā)人員將多個命令鏈接在一起,以創(chuàng)建更復(fù)雜的應(yīng)用程序。

LangChain創(chuàng)建于2022年10月,是圍繞LLMs(大語言模型)建立的一個框架,LLMs使用機(jī)器學(xué)習(xí)算法和海量數(shù)據(jù)來分析和理解自然語言。LangChain自身并不開發(fā)LLMs,它的核心理念是為各種LLMs實現(xiàn)通用的接口,把LLMs相關(guān)的組件“鏈接”在一起,簡化LLMs應(yīng)用的開發(fā)難度,方便開發(fā)者快速地開發(fā)復(fù)雜的LLMs應(yīng)用。

支持的語言

LangChain目前有兩個語言的實現(xiàn):Python和Node.js。

組件

LangChain的組件包括:

  • Models:模型,各種類型的模型和模型集成,比如GPT-4。
  • Prompts:提示,包括提示管理、提示優(yōu)化和提示序列化。
  • Memory:記憶,用來保存和模型交互時的上下文狀態(tài)。
  • Indexes:索引,用來結(jié)構(gòu)化文檔,以便和模型交互。
  • Chains:鏈,一系列對各種組件的調(diào)用。
  • Agents:代理,決定模型采取哪些行動,執(zhí)行并且觀察流程,直到完成為止。

使用場景

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

安裝依賴庫

npm install -S langchain

Hello World

首先,使用Langchain來調(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(
    "寫一首詩,限制20個字"
);
console.log(res);

輸出

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

替換提示語中的參數(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);

開始見識Langchain的強(qiáng)大

截止上個實例,你還沒見識到Langchain的強(qiáng)大。

接下來,你先注冊一個SerpApi帳號,獲取api key

點擊這里注冊

然后執(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 =
    "誰是周杰倫的老婆?" +
    "她的年紀(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 "誰是周杰倫的老婆?她的年紀(jì)加上10是多少?"...
Got output Hannah Quinlivan is Zhou Jielun's wife and she is 39 years old.

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

  • 使用SerpAPI工具獲取周杰倫的老婆的名字:Quinlivan
  • 然后獲取她的年齡:29歲
  • 最后使用Calculator工具加上10:最終得到39歲的結(jié)果

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

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

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

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

以上就是Javascript版Langchain入門教程解析的詳細(xì)內(nèi)容,更多關(guān)于Javascript版Langchain入門的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 前端使用koa實現(xiàn)大文件分片上傳

    前端使用koa實現(xiàn)大文件分片上傳

    這篇文章主要為大家介紹了前端使用koa實現(xiàn)大文件分片上傳示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 可視化埋點元素圈選器實現(xiàn)源碼

    可視化埋點元素圈選器實現(xiàn)源碼

    這篇文章主要為大家介紹了可視化埋點元素圈選器實現(xiàn)源碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 微信小程序-拍照或選擇圖片并上傳文件

    微信小程序-拍照或選擇圖片并上傳文件

    這篇文章主要介紹了微信小程序-拍照或選擇圖片并上傳文件的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • js中yield參數(shù)應(yīng)用示例深入理解

    js中yield參數(shù)應(yīng)用示例深入理解

    這篇文章主要為大家介紹了js中yield參數(shù)應(yīng)用示例深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 微信小程序 Storage API實例詳解

    微信小程序 Storage API實例詳解

    這篇文章主要介紹了微信小程序 Storage API實例詳解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • 微信小程序之頁面跳轉(zhuǎn)和參數(shù)傳遞的實現(xiàn)

    微信小程序之頁面跳轉(zhuǎn)和參數(shù)傳遞的實現(xiàn)

    這篇文章主要介紹了微信小程序之頁面跳轉(zhuǎn)和參數(shù)傳遞的實現(xiàn)的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • TypeScript順時針打印矩陣實現(xiàn)實例詳解

    TypeScript順時針打印矩陣實現(xiàn)實例詳解

    這篇文章主要為大家介紹了TypeScript順時針打印矩陣實現(xiàn)實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • wasm+js實現(xiàn)文件獲取md5示例詳解

    wasm+js實現(xiàn)文件獲取md5示例詳解

    這篇文章主要為大家介紹了wasm+js實現(xiàn)md5文件獲取示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 如果文字過長,則將過長的部分變成省略號顯示

    如果文字過長,則將過長的部分變成省略號顯示

    如果文字過長,則將過長的部分變成省略號顯示...
    2006-06-06
  • JS高級ES6的6種繼承方式

    JS高級ES6的6種繼承方式

    這篇文章主要和大家分享的事JS高級ES6的6種繼承方式,繼承是面向?qū)ο笾欣仙U劦囊粋€內(nèi)容,在ECMAScript6之前,JavaScript中的繼承可謂是非常的繁瑣的,有各種各樣的繼承,本質(zhì)上所有的繼承都是離不開原型鏈的,更多詳細(xì)內(nèi)容請感興趣的小伙伴參考下面文章內(nèi)容吧
    2021-12-12

最新評論

田林县| 怀仁县| 康定县| 石城县| 巴林左旗| 朝阳县| 莱阳市| 雷州市| 弋阳县| 鹰潭市| 湘潭县| 溆浦县| 北宁市| 南川市| 榆社县| 荔浦县| 迁西县| 广丰县| 天全县| 大城县| 白玉县| 元谋县| 彭泽县| 岚皋县| 扎鲁特旗| 深圳市| 深圳市| 天等县| 德清县| 焦作市| 滦南县| 正定县| 广西| 五华县| 衡东县| 西峡县| 小金县| 巧家县| 顺义区| 长宁区| 行唐县|