五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

分享到微博請遵守國家法律
庆云县| 蒙阴县| 哈尔滨市| 宁德市| 凌云县| 青阳县| 东至县| 堆龙德庆县| 建瓯市| 甘泉县| 桂阳县| 晋宁县| 吉首市| 襄城县| 新沂市| 华安县| 彭山县| 侯马市| 荣成市| 娱乐| 民县| 崇信县| 汶上县| 乌鲁木齐县| 焦作市| 博客| 莱州市| 海门市| 曲周县| 恩施市| 山西省| 濉溪县| 舒兰市| 泾阳县| 瑞丽市| 石台县| 彩票| 临桂县| 手机| 绥中县| 兴业县|