BigDL-LLM实践(2):LangChain的简单使用

BigDL-LLM 提供了 TransformerLLM,它实现了 LangChain 的 LLM wrapper 的标准接口。因此可以利用LangChain的各种方法。

1.1 模型加载

以TransformerLLM方法为例,可以从 huggingface model_id 或路径实例化llm。可以在 model_kwargs 中以字典形式传入与模型生成相关的参数(如 temperaturemax_length)。以 vicuna-7b-v1.5 模型为例实例化创建一个 TransformerLLM

from bigdl.llm.langchain.llms import TransformersLLM

llm = TransformersLLM.from_model_id(
        model_id="lmsys/vicuna-7b-v1.5",
        model_kwargs={"temperature": 0, "max_length": 1024, "trust_remote_code": True},
    )

1.2 使用 Chains

在简单应用中,单独使用LLM是可以的, 但更复杂的应用需要将LLM进行链接 - 要么相互链接,要么与其他组件链接.LangChain为这种"链接"应用提供了Chain接口。chain 中的组件可以是 prompt 模板、模型、内存缓冲区等。

LLMChain是最基本的构建块链。它接受一个提示模板,将其与用户输入进行格式化,并返回 LLM 的响应。

from langchain import PromptTemplate   //创建模板
from langchain import LLMChain      // 引入Chain组件
from bigdl.llm.langchain.llms import TransformersLLM    //导入模型的方法

//导入模型
llm = TransformersLLM.from_model_id(
        model_id="lmsys/vicuna-7b-v1.5",
        model_kwargs={"temperature": 0, "max_length": 1024, "trust_remote_code": True},
    )

//创建模板
prompt = PromptTemplate(
    input_variables=["product"],
    template="What is a good name for a company that makes {product}?",
)

llm_chain = LLMChain(prompt=prompt, llm=llm)  //构建Chain


question = "What is AI?"
result = llm_chain.run(question)

1.3 多个参数模板

如果模板中有多个变量,您可以使用字典一次性输入它们。

prompt = PromptTemplate(
    input_variables=["company", "product"],
    template="What is a good name for {company} that makes {product}?",
)
chain = LLMChain(llm=llm, prompt=prompt)
print(chain.run({
    'company': "ABC Startup",
    'product': "colorful socks"
    }))

                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GPT (Generative Pre-trained Transformer)是由OpenAI公司开发的一系列自然语言处理模型。它采用多层Transformer结构来预测下一个单词的概率分布,通过在大型文本语料库中学习到的语言模式来生成自然语言文本。GPT系列模型包括多个版本,如GPT-2和GPT-3等。\[2\]这些模型在不同任务中展现了出色的性能,包括零样本学习和少样本学习等。GPT使用Transformer的Decoder结构,并对其进行了一些改动,保留了Mask Multi-Head Attention。\[3\]通过这些改进,GPT模型在自然语言处理领域取得了显著的成果。 #### 引用[.reference_title] - *1* [深入理解深度学习——GPT(Generative Pre-Trained Transformer):基础知识](https://blog.csdn.net/hy592070616/article/details/131341012)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【LLM系列之GPT】GPT(Generative Pre-trained Transformer)生成式预训练模型](https://blog.csdn.net/yanqianglifei/article/details/130756814)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值