分類目錄:《大模型從入門到應(yīng)用》總目錄
LangChain系列文章:
- 基礎(chǔ)知識(shí)
- 快速入門
- 安裝與環(huán)境配置
- 鏈(Chains)、代理(Agent:)和記憶(Memory)
- 快速開發(fā)聊天模型
- 模型(Models)
- 基礎(chǔ)知識(shí)
- 大型語言模型(LLMs)
- 基礎(chǔ)知識(shí)
- LLM的異步API、自定義LLM包裝器、虛假LLM和人類輸入LLM(Human Input LLM)
- 緩存LLM的調(diào)用結(jié)果
- 加載與保存LLM類、流式傳輸LLM與Chat Model響應(yīng)和跟蹤tokens使用情況
- 聊天模型(Chat Models)
- 基礎(chǔ)知識(shí)
- 使用少量示例和響應(yīng)流式傳輸
- 文本嵌入模型
- Aleph Alpha、Amazon Bedrock、Azure OpenAI、Cohere等
- Embaas、Fake Embeddings、Google Vertex AI PaLM等
- 提示(Prompts)
- 基礎(chǔ)知識(shí)
- 提示模板
- 基礎(chǔ)知識(shí)
- 連接到特征存儲(chǔ)
- 創(chuàng)建自定義提示模板和含有Few-Shot示例的提示模板
- 部分填充的提示模板和提示合成
- 序列化提示信息
- 示例選擇器(Example Selectors)
- 輸出解析器(Output Parsers)
- 記憶(Memory)
- 基礎(chǔ)知識(shí)
- 記憶的類型
- 會(huì)話緩存記憶、會(huì)話緩存窗口記憶和實(shí)體記憶
- 對(duì)話知識(shí)圖譜記憶、對(duì)話摘要記憶和會(huì)話摘要緩沖記憶
- 對(duì)話令牌緩沖存儲(chǔ)器和基于向量存儲(chǔ)的記憶
- 將記憶添加到LangChain組件中
- 自定義對(duì)話記憶與自定義記憶類
- 聊天消息記錄
- 記憶的存儲(chǔ)與應(yīng)用
- 索引(Indexes)
- 基礎(chǔ)知識(shí)
- 文檔加載器(Document Loaders)
- 文本分割器(Text Splitters)
- 向量存儲(chǔ)器(Vectorstores)
- 檢索器(Retrievers)
- 鏈(Chains)
- 基礎(chǔ)知識(shí)
- 通用功能
- 自定義Chain和Chain的異步API
- LLMChain和RouterChain
- SequentialChain和TransformationChain
- 鏈的保存(序列化)與加載(反序列化)
- 鏈與索引
- 文檔分析和基于文檔的聊天
- 問答的基礎(chǔ)知識(shí)
- 圖問答(Graph QA)和帶來源的問答(Q&A with Sources)
- 檢索式問答
- 文本摘要(Summarization)、HyDE和向量數(shù)據(jù)庫的文本生成
- 代理(Agents)
- 基礎(chǔ)知識(shí)
- 代理類型
- 自定義代理(Custom Agent)
- 自定義MRKL代理
- 帶有ChatModel的LLM聊天自定義代理和自定義多操作代理(Custom MultiAction Agent)
- 工具
- 基礎(chǔ)知識(shí)
- 自定義工具(Custom Tools)
- 多輸入工具和工具輸入模式
- 人工確認(rèn)工具驗(yàn)證和Tools作為OpenAI函數(shù)
- 工具包(Toolkit)
- 代理執(zhí)行器(Agent Executor)
- 結(jié)合使用Agent和VectorStore
- 使用Agents的異步API和創(chuàng)建ChatGPT克隆
- 處理解析錯(cuò)誤、訪問中間步驟和限制最大迭代次數(shù)
- 為代理程序設(shè)置超時(shí)時(shí)間和限制最大迭代次數(shù)和為代理程序和其工具添加共享內(nèi)存
- 計(jì)劃與執(zhí)行
- 回調(diào)函數(shù)(Callbacks)
有些應(yīng)用程序不僅需要預(yù)先確定的LLM或其他工具調(diào)用鏈,而且可能需要根據(jù)用戶輸入的不同而產(chǎn)生不同的鏈條。在這些類型的鏈條中,有一個(gè)“代理”可以訪問一套工具。根據(jù)用戶輸入,代理可以決定是否調(diào)用其中任何一個(gè)工具。在本文中,我們首先“快速入門”代理,介紹如何以端到端的方式使用與代理相關(guān)的所有內(nèi)容。
代理使用LLM來確定采取哪些行動(dòng)以及順序。 一個(gè)動(dòng)作可以是使用工具并觀察其輸出,或返回給用戶。當(dāng)代理被正確使用時(shí),它們可以非常強(qiáng)大。本文的目的是向您展示如何通過最簡(jiǎn)單、最高級(jí)別的API輕松使用代理。為了使用代理,我們應(yīng)該搜下了解以下概念:
- 工具(Tools):執(zhí)行特定任務(wù)的功能,即有關(guān)預(yù)定義工具及其規(guī)范的列表。這可以是Google 搜索、數(shù)據(jù)庫查找、 Python REPL、其他鏈。工具的接口目前是一個(gè)函數(shù),預(yù)計(jì)將有一個(gè)字符串作為輸入,一個(gè)字符串作為輸出。
- 大語言模型(LLM):為代理提供動(dòng)力的語言模型。
- 代理(Agents):要使用的代理,即有關(guān)受支持的Agent及其規(guī)范的列表。這應(yīng)該是引用支持代理類的字符串。因?yàn)楸疚闹饕P(guān)注最簡(jiǎn)單、最高級(jí)別的API,所以它只涉及使用標(biāo)準(zhǔn)支持的代理。如果要實(shí)現(xiàn)自定義代理,可以參考《自然語言處理從入門到應(yīng)用——LangChain:代理(Agents)》系列后續(xù)文章。
from langchain.agents import load_tools
from langchain.agents import initialize_agent
from langchain.agents import AgentType
from langchain.llms import OpenAI
首先,讓我們加載我們要使用的語言模型來控制代理。
llm = OpenAI(temperature=0)
接下來,我們加載一些要使用的工具。請(qǐng)注意,llm-math
工具使用LLM,因此我們需要傳遞它:
tools = load_tools(["serpapi", "llm-math"], llm=llm)
最后,我們使用工具、語言模型和我們想要使用的代理類型初始化一個(gè)代理:
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
測(cè)試代理:
agent.run("Who is Leo DiCaprio's girlfriend? What is her current age raised to the 0.43 power?")
輸出:文章來源:http://www.zghlxwxcb.cn/news/detail-547193.html
> Entering new AgentExecutor chain...
I need to find out who Leo DiCaprio's girlfriend is and then calculate her age raised to the 0.43 power.
Action: Search
Action Input: "Leo DiCaprio girlfriend"
Observation: Camila Morrone
Thought: I need to find out Camila Morrone's age
Action: Search
Action Input: "Camila Morrone age"
Observation: 25 years
Thought: I need to calculate 25 raised to the 0.43 power
Action: Calculator
Action Input: 25^0.43
Observation: Answer: 3.991298452658078
Thought: I now know the final answer
Final Answer: Camila Morrone is Leo DiCaprio's girlfriend and her current age raised to the 0.43 power is 3.991298452658078.
> Finished chain.
參考文獻(xiàn):
[1] LangChain ????? 中文網(wǎng),跟著LangChain一起學(xué)LLM/GPT開發(fā):https://www.langchain.com.cn/
[2] LangChain中文網(wǎng) - LangChain 是一個(gè)用于開發(fā)由語言模型驅(qū)動(dòng)的應(yīng)用程序的框架:http://www.cnlangchain.com/文章來源地址http://www.zghlxwxcb.cn/news/detail-547193.html
到了這里,關(guān)于自然語言處理從入門到應(yīng)用——LangChain:代理(Agents)-[基礎(chǔ)知識(shí)]的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!