无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
遂溪县| 开封县| 洛扎县| 双鸭山市| 镇雄县| 西充县| 闽侯县| 阳朔县| 上饶市| 农安县| 綦江县| 临夏县| 冀州市| 太和县| 南和县| 平罗县| 阿拉尔市| 平泉县| 永济市| 兰西县| 新安县| 庄河市| 措勤县| 永靖县| 五大连池市| 凤山县| 乐都县| 环江| 高平市| 双辽市| 岳普湖县| 札达县| 巴彦县| 建平县| 娱乐| 德令哈市| 贵定县| 内黄县| 双城市| 瑞金市| 探索|