国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

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

快速入門LangChain的六大核心模塊之Agents

2023-08-12 11:56 作者:復利火箭  | 我要投稿

Agents的核心思想是使用LLM來選擇要采取的一系列操作。在Cahin中,一系列操作是硬編碼的(在代碼中)。在agents中,語言模型用作推理引擎,以確定要執(zhí)行的操作以及順序。

關(guān)鍵組件

1、工具 (tools):負責決定下一步要采取的步驟的類,由語言模型和提示提供支持。這個prompt可以包括代理的個性(有助于使其以某種方式做出反應(yīng))、代理的背景上下文(有助于為其提供有關(guān)要求它執(zhí)行的任務(wù)類型的更多上下文)、提示策略以調(diào)用更好的推理。

2、代理 (agents):介紹不同代理類型的概述。

3、工具包 (toolkits):通代理可以訪問的工具集比單個工具更重要。為此,LangChain提供了工具包的概念——實現(xiàn)特定目標所需的工具組。工具包中通常有大約 3-5 個工具。

準備工作

安裝依賴

pip install langchain
pip install openai

設(shè)置密鑰

import os
import openai os.environ["OPENAI_API_KEY"] = 'your_openai_key'
os.environ['OPENAI_API_BASE'] = ''

導入庫

from langchain.chat_models import ChatOpenAI
from langchain.agents import tool
from langchain.schema import SystemMessage
from langchain.agents import OpenAIFunctionsAgent
from langchain.agents import AgentExecutor
from langchain.prompts import MessagesPlaceholder
from langchain.memory import ConversationBufferMemory
import os
import openai

開始編碼

調(diào)用ChatOpenAI作為LLM

llm = ChatOpenAI(temperature=0)

定義工具函數(shù)

使用@tool裝飾器定義一個名為get_word_length的函數(shù),用于計算單詞的長度。

@tool
def get_word_length(word: str) -> int:
"""Returns the length of a word."""
return len(word)
tools = [get_word_length]

創(chuàng)建對話歷史

定義一個常量MEMORY_KEY,用于存儲對話歷史的鍵名。

MEMORY_KEY = "chat_history"
memory = ConversationBufferMemory(memory_key=MEMORY_KEY, return_messages=True)

創(chuàng)建代理和代理執(zhí)行器

system_message = SystemMessage(content="你是非常強大的助手,但不善于計算單詞的長度。")

prompt = OpenAIFunctionsAgent.create_prompt(
system_message=system_message,
extra_prompt_messages=[MessagesPlaceholder(variable_name=MEMORY_KEY)])
agent = OpenAIFunctionsAgent(llm=llm, tools=tools, prompt=prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, memory=memory, verbose=True)

運行聊天機器人

通過agent_executor.run方法向聊天機器人發(fā)送問題,例如"耕耘一詞中有幾個字?"和"它是個真正的詞匯嗎?"。

agent_executor.run("耕耘一詞中有幾個字?")
agent_executor.run("它是個真正的詞匯嗎?")

執(zhí)行結(jié)果演示

完整代碼

完整代碼在githhub搜qq31682216/chatgpt_all

小結(jié)

以上就是我在快速入門agents分享,希望可以幫到各位!歡迎關(guān)注或發(fā)私信與我共同討論更多大模型領(lǐng)域知識~

快速入門LangChain的六大核心模塊之Agents的評論 (共 條)

分享到微博請遵守國家法律
承德市| 宣武区| 蓝田县| 内黄县| 稷山县| 泽州县| 青浦区| 东至县| 阿图什市| 桂东县| 冀州市| 十堰市| 东山县| 抚宁县| 五寨县| 攀枝花市| 宜章县| 库尔勒市| 阿勒泰市| 驻马店市| 内丘县| 讷河市| 乳源| 奉贤区| 新兴县| 福鼎市| 平顺县| 桂阳县| 琼中| 灌阳县| 长汀县| 柘荣县| 达尔| 莱芜市| 扎赉特旗| 通州区| 高陵县| 枞阳县| 孝感市| 青川县| 温宿县|