在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            博客專欄

            EEPW首頁(yè) > 博客 > 獨(dú)家 | 開始使用LangChain:幫助你構(gòu)建LLM驅(qū)動(dòng)應(yīng)用的新手教程(1)

            獨(dú)家 | 開始使用LangChain:幫助你構(gòu)建LLM驅(qū)動(dòng)應(yīng)用的新手教程(1)

            發(fā)布人:數(shù)據(jù)派THU 時(shí)間:2023-07-16 來(lái)源:工程師 發(fā)布文章
            自從ChatGPT發(fā)布以來(lái),大型語(yǔ)言模型 (LLMs) 已經(jīng)獲得了很大的普及。盡管你可能沒(méi)有足夠的資金和計(jì)算資源在你的地下室從頭開始訓(xùn)練一個(gè)LLM,但你仍然可以使用預(yù)先訓(xùn)練的LLMs來(lái)構(gòu)建一些很酷的東西,例如:


            • 可以根據(jù)為您的目的而定制的數(shù)據(jù)聊天機(jī)器人
            • 與外界進(jìn)行交互的個(gè)人助理分析
            • 對(duì)您的文檔或代碼進(jìn)行匯總


            憑借其怪異的api和快速的工程設(shè)計(jì),LLMs正在改變我們構(gòu)建人工智能產(chǎn)品的方式。這就是為什么新的開發(fā)工具在 “LLMOpS” 一詞下隨處可見(jiàn),其中一個(gè)新工具是LangChain(https://github.com/hwchase17/langchain)。


            什么是LangChain?


            LangChain是一個(gè)框架,旨在通過(guò)為您提供以下內(nèi)容來(lái)幫助您更輕松地構(gòu)建LLM支持的應(yīng)用程序:


            • 各種不同基礎(chǔ)模型的通用接口 (請(qǐng)參閱模型);

            • 幫助您管理提示的框架 (請(qǐng)參閱提示);

            • 以及用于LLM無(wú)法處理 (例如計(jì)算或搜索) 的長(zhǎng)期內(nèi)存 (請(qǐng)參閱內(nèi)存),外部數(shù)據(jù) (請(qǐng)參閱索引),其他LLM (請(qǐng)參閱鏈) 和其他代理的中央接口。代理)。這是哈里森·蔡斯創(chuàng)建的一個(gè)開源項(xiàng)目 (GitHub存儲(chǔ)庫(kù))。


            由于LangChain功能眾多,這就是為什么我們將在本文中介紹LangChain目前的六個(gè)關(guān)鍵模塊,以使您更好地了解其功能。


            安裝環(huán)境
            在本教程中,您將需要安裝langchain Python軟件包,并準(zhǔn)備好使用所有相關(guān)的API密鑰。安裝LangChain在安裝langchain軟件包之前,請(qǐng)確保您的Python版本 ≥ 3.8.1且<4.0。
            要安裝langchain Python包,您可以pip安裝它。

            pip install langchain

            在本教程中,我們使用的是0.0.147版。GitHub庫(kù)提交非?;钴S; 因此,請(qǐng)確保您擁有當(dāng)前版本。全部設(shè)置完畢后,導(dǎo)入langchain Python包。
            import langchain

            API keys
            使用LLMs構(gòu)建應(yīng)用程序需要您要使用的某些服務(wù)的API密鑰,并且某些API是付費(fèi)的。
            LLM供應(yīng)商 (必填):您首先需要使用LLM提供程序的API密鑰。我們目前正在經(jīng)歷 “AI的Linux時(shí)刻”,開發(fā)人員必須基于主要在性能和成本之間的權(quán)衡,在專有或開源基礎(chǔ)模型之間進(jìn)行選擇。

            圖片


            LLM提供者:專有和開源基礎(chǔ)模型 (作者的圖片,靈感來(lái)自Fiddler.ai,首次發(fā)布在W & B的博客上)
            專有模型是擁有大型專家團(tuán)隊(duì)和大型AI預(yù)算的公司擁有的封閉式基礎(chǔ)模型。它們通常比開源模型更大,因此具有更好的性能,但它們也具有昂貴的api。專有模型提供商的示例是OpenAI,co:here,AI21 Labs或Anthropic。大多數(shù)可用的LangChain教程使用OpenAI,但請(qǐng)注意,OpenAI API (對(duì)于實(shí)驗(yàn)來(lái)說(shuō)并不昂貴,但它) 不是免費(fèi)的。要獲取OpenAI API密鑰,您需要一個(gè)OpenAI帳戶,然后在API密鑰下 “創(chuàng)建新的密鑰”。

            import osos.environ["OPENAI_API_KEY"] = ... # insert your API_TOKEN here


            開源模型通常是較小的模型,其功能比專有模型低,但比專有模型更具成本效益。開源模型的示例包括:

            • BLOOM by BigScience
            • LLaMA by Meta AI
            • Flan-T5 by Google
            • GPT-J by Eleuther AI


            作為社區(qū)中心,許多開源模型都是在Hugging Face組織和托管的。要獲得Hugging Face API密鑰,您需要一個(gè)Hugging Face帳戶,并在訪問(wèn)令牌下創(chuàng)建一個(gè) “新令牌”。

            import osos.environ["HUGGINGFACEHUB_API_TOKEN"] = ... # insert your API_TOKEN here

            對(duì)于開源LLM,您可以免費(fèi)使用Hugging Face,但是您將被限制在性能較低的較小LLM中。


            個(gè)人筆記:您可以在此處嘗試開源基礎(chǔ)模型。我嘗試使本教程僅與托管在常規(guī)帳戶(google/flan-t5-xl和sentence transformer/all-MiniLM-L6-v2) 上的Hugging Face上的開源模型一起使用。它適用于大多數(shù)示例,但是讓一些示例起作用也是一種痛苦。最后,我為OpenAI設(shè)置了一個(gè)付費(fèi)帳戶,因?yàn)長(zhǎng)angChain的大多數(shù)示例似乎都針對(duì)OpenAI的API進(jìn)行了優(yōu)化??偟膩?lái)說(shuō),為教程運(yùn)行一些實(shí)驗(yàn)花了我大約1美元。


            矢量數(shù)據(jù)庫(kù) (可選):如果要使用特定的矢量數(shù)據(jù)庫(kù),例如Pinecome,Weaviate或Milvus,則需要向他們注冊(cè)以獲取API密鑰并確認(rèn)其定價(jià)。在本教程中,我們使用的是Faiss,它不需要注冊(cè)。
            工具 (可選):根據(jù)您希望LLM與之交互的工具 (例如OpenWeatherMap或SerpAPI),您可能需要向它們注冊(cè)以獲取API密鑰并檢查其定價(jià)。在本教程中,我們僅使用不需要API密鑰的工具。
            我們可以用LangChain做什么?
            該軟件包為許多基礎(chǔ)模型提供了通用接口,可以進(jìn)行提示管理,并通過(guò)代理充當(dāng)其他組件 (如提示模板,其他LLM,外部數(shù)據(jù)和其他工具) 的中央接口。在撰寫本文時(shí),LangChain (版本0.0.147) 涵蓋了六個(gè)模塊:

            • 模型: 從不同的LLMs和嵌入模型中進(jìn)行選擇
            • 提示: 管理LLM
            • 輸入鏈: 將LLMs與其他組件相結(jié)合
            • 索引: 訪問(wèn)外部數(shù)據(jù)
            • 存儲(chǔ)器: 記住以前的對(duì)話
            • 代理: 訪問(wèn)其他工具


            以下各節(jié)中的代碼示例是從LangChain文檔中復(fù)制和修改的。


            模型: 從不同的LLM中選擇和嵌入模型
            目前,許多不同的LLM正在出現(xiàn)。LangChain為各種模型提供了集成,并為所有模型提供了簡(jiǎn)化的界面。LangChain區(qū)分了三種類型的模型,它們的輸入和輸出不同:

            • LLMs將字符串作為輸入 (提示),并輸出字符串 (完成)。

            # Proprietary LLM from e.g. OpenAI# pip install openaifrom langchain.llms import OpenAIllm = OpenAI(model_name="text-davinci-003")
            # Alternatively, open-source LLM hosted on Hugging Face# pip install huggingface_hubfrom langchain import HuggingFaceHubllm = HuggingFaceHub(repo_id = "google/flan-t5-xl")
            # The LLM takes a prompt as an input and outputs a completionprompt = "Alice has a parrot. What animal is Alice's pet?"completion = llm(prompt)


            圖片

            LLM 模型


            • 聊天模型類似于LLM。他們將聊天消息列表作為輸入,并返回聊天消息。
            • 文本嵌入模型采用文本輸入并返回浮點(diǎn)數(shù) (嵌入) 列表,浮點(diǎn)數(shù)是輸入文本的數(shù)字表示形式。嵌入有助于從文本中提取信息。隨后可以使用該信息,例如,用于計(jì)算文本之間的相似性 (例如,電影摘要)。


            圖片

            文本嵌入模型


            *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



            關(guān)鍵詞: AI

            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉