自然语言处理(NLP)中的Agent概念日益受到关注。Agent的核心思想是使用语言模型来选择“一个动作序列”以执行相应任务。与预设好执行步骤的“链(chains)”不同,Agent基于语言模型作为推理引擎来动态决定所采取的动作及其顺序。
在Agent架构中,几个关键组成部分包括Agent本身、工具(Tools)、AgentExecutor等。
环境设置
首先,我们需要导入必要的库和模型,并配置设备。
import langchain
import os
import torch
# 设置GPU设备
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
然后,我们加载语言模型,并使用LangChain的HuggingFacePipeline集成实现文本生成。
from transformers import AutoTokenizer, AutoModelForSeq2SeqLM, pipeline
from langchain import HuggingFacePipeline
model_id = "models/fastchat-t5-3b-v1.0"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(model_id, device_map=