LangChain入门:14.LLMChain:最简单的链的使用

news2024/11/19 3:37:44
摘要

本文将介绍LangChain库中LLMChain工具的使用方法。LLMChain将提示模板、语言模型(LLM)和输出解析器整合在一起,形成一个连贯的处理链,简化了与语言模型的交互过程。我们将探讨LLMChain的技术特点、应用场景以及它解决的问题,并提供详细的代码示例。

技术介绍

LLMChain是LangChain库中的一项功能强大的工具,它提供了一个便捷的方式来与语言模型进行交互。通过LLMChain,用户可以轻松地构建提示模板、调用语言模型进行推理,并解析输出结果,而无需手动处理繁琐的过程。

应用场景

LLMChain适用于许多自然语言处理任务,包括文本生成、情感分析、文本分类等。它可以用于构建智能对话系统、自动文本摘要生成器、情感识别引擎等应用程序。此外,LLMChain还可以用于快速原型开发和实验,以及用于教育和研究目的。

解决的问题

LLMChain解决了与语言模型交互过程中的诸多问题,包括:

  • 简化交互流程:通过整合提示模板、语言模型和输出解析器,LLMChain简化了与语言模型的交互过程,使用户可以更轻松地使用语言模型进行推理。
  • 自动化处理:LLMChain提供了多种调用方法,可以根据需求自动处理输入数据和解析输出结果,减少了用户的手动干预。
  • 提高效率:LLMChain的灵活性和高效性使其成为处理自然语言处理任务的理想工具,可以大大提高工作效率和准确性。
完整示例代码
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from langchain.chains import LLMChain

# 导入所需库和模块
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
from langchain.chains import LLMChain

# 使用Pydantic创建数据格式
from pydantic import BaseModel, Field
from typing import List

class Flower(BaseModel):
    name: str = Field(description="name of a flower")
    colors: List[str] = Field(description="the colors of this flower")

# 创建提示模板实例
template = "{flower}的花语是?"
llm = ChatOpenAI(
    openai_api_key='# 替换为你的API密钥',
    base_url='https://api.chatanywhere.tech/v1',
    model='gpt-3.5-turbo',
    temperature=0,
)
prompt = PromptTemplate.from_template(template)

# 初始化LLMChain
llm_chain = LLMChain(
    llm=llm,
    prompt=prompt
)

# 调用LLMChain并获取结果
result = llm_chain.invoke("玫瑰")
print(result)
多种调用方法
  1. 通过run方法

    input_list = [
        { 'flower': "玫瑰", 'season': "夏季" },
        { 'flower': "康乃馨", 'season': "冬季" },
        { 'flower': "郁金香", 'season': "春季" },
    ]
    print(llm_chain.run(input_list))
    
  2. 通过predict方法

    print(llm_chain.predict(flower="玫瑰", season="夏季"))
    
  3. 通过apply方法

    input_list = [
        { 'flower': "玫瑰", 'season': "夏季" },
        { 'flower': "康乃馨", 'season': "冬季" },
        { 'flower': "郁金香", 'season': "春季" },
    ]
    print(llm_chain.apply(input_list))
    
  4. 通过generate方法

    input_list = [
        { 'flower': "玫瑰", 'season': "夏季" },
        { 'flower': "康乃馨", 'season': "冬季" },
        { 'flower': "郁金香", 'season': "春季" },
    ]
    print(llm_chain.generate(input_list))
    

以上示例展示了LLMChain的多种调用方法,以适应不同的使用场景。

不同的执行结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1594364.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL入门到实战-第三十弹

PostgreSQL入门到实战 PostgreSQL教程网站官网地址PostgreSQL概述更新计划 PostgreSQL教程网站 https://www.postgresqltutorial.com/ 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://www.postgresql.org/PostgreS…

OpenHarmony实战开发-Actor并发模型对比内存共享并发模型

内存共享并发模型指多线程同时执行复数任务,这些线程依赖同一内存并且都有权限访问,线程访问内存前需要抢占并锁定内存的使用权,没有抢占到内存的线程需要等待其他线程释放使用权再执行。 Actor并发模型每一个线程都是一个独立Actor&#xf…

MySQL limit N offset M 速度慢?来实际体验下

直接开始 有一张表:trade_user,表结构如下: mysql> desc trade_user; ------------------------------------------------------------------ | Field | Type | Null | Key | Default | Extra | -------------…

wpf下RTSP|RTMP播放器两种渲染模式实现

技术背景 在这篇blog之前,我提到了wpf下播放RTMP和RTSP渲染的两种方式,一种是通过控件模式,另外一种是直接原生RTSP、RTMP播放模块,回调rgb,然后在wpf下渲染,本文就两种方式做个说明。 技术实现 以大牛直…

群晖双硬盘实时备份(WebDAV Server+Cloud Sync)

安装和设置 WebDAV Server WebDAV 是一种基于HTTP的协议扩展,它允许用户在远程Web服务器上进行文档的编辑和管理,就如同这些文件存储在本地计算机上一样。使用WebDAV,用户可以创建、移动、复制和修改文件和文件夹。 安装和设置 Cloud Sync…

Spring5深入浅出篇:Spring自定义类型转换器

Spring5深入浅出篇:Spring自定义类型转换器 类型转换器 首先要知道什么叫做类型转换器 ,我们通过配置的属性值是以字符串的形式为什么在查看对象成员变量时已经变成了int,这就是Spring的内置类型转换器帮我们做了自动类型转换. 作⽤:Spring通过类型转换器把配置⽂件…

性能分析与限流策略

性能分析与限流策略 常用HTTP服务压测工具介绍 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量、排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好地匹配项目的实际需求,节约资源成本 压测相关…

服务器主机关机重启告警

提取时间段内系统操作命名,出现系统重启命令,若要出现及时联系确认 重启命令: reboot / init 6 / shutdown -r now(现在重启命令) 关机命令: init 0 / shutdown -h now(关机&#…

C++ 多态实现机制

考虑下面的 C 程序&#xff1a; class A {void func(){} };class B:public A {void func(){} };int main(void) {cout << sizeof(A) << " " << sizeof(B) << endl;return 0; } 输出结果是&#xff1a;1 1 再考虑下面很相似的程序&#xf…

QtCreater 使用

QtCreater 创建项目 1.刚进入 QtCreater 的界面是这样的一个界面 ① 创建一个新的文件&#xff0c;那么我们就选择左上角的 “文件” ② 点击新建文件&#xff0c;或者也可以直接使用快捷键 CtrlN 此时就会弹出对话框&#xff0c;让我们选择想要创建的文件&#xff1a; Appli…

今天掏心窝子!聊聊35岁了程序员何去何从?

今天的内容不聊技术&#xff0c;聊聊轻松的话题&#xff0c;脑子高速转了好几周&#xff0c;停下来思考一下人生…… 不对&#xff0c;关于35岁的问题好像也不轻松&#xff0c;些许有点沉重&#xff0c;反正不是技术&#xff0c;不用高速转动脑细胞了&#xff0c;哈哈。 兄弟…

Spring源码刨析之配置文件的解析和bean的创建以及生命周期

public void test1(){XmlBeanFactory xmlBeanFactory new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));user u xmlBeanFactory.getBean("user",org.xhpcd.user.class);// System.out.println(u.getStu());}先介绍一个类XmlBeanFac…

1027: 舞伴问题

解法&#xff1a; #include<iostream> #include<vector> using namespace std; int main() {int n, m, k;cin >> n;vector<char> man(n);for (int i 0; i < n; i) cin >> man[i];cin >> m;vector<char> woman(m);for (int i 0…

VMware Workstation部署最新版OpenWrt 23.05.3

正文共&#xff1a;1456 字 51 图&#xff0c;预估阅读时间&#xff1a;2 分钟 我们之前介绍了如何在VMware Workstation上安装OpenWrt&#xff08;软路由是啥&#xff1f;OpenWrt又是啥&#xff1f;长啥样&#xff1f;在VMware装一个瞅瞅&#xff09;&#xff0c;也介绍了如何…

C++类和对象中下篇

赋值运算符重载 运算符重载 C为了增强代码的可读性引入了运算符重载&#xff0c;运算符重载是具有特殊函数名的函数&#xff0c;也具有其返回值类型&#xff0c;函数名字以及参数列表&#xff0c;其返回值类型与参数列表与普通的函数类似。 函数名字为&#xff1a;关键字ope…

【数学】主成分分析(PCA)的详细深度推导过程

本文基于Deep Learning (2017, MIT)&#xff0c;推导过程补全了所涉及的知识及书中推导过程中跳跃和省略的部分。 blog 1 概述 现代数据集&#xff0c;如网络索引、高分辨率图像、气象学、实验测量等&#xff0c;通常包含高维特征&#xff0c;高纬度的数据可能不清晰、冗余&am…

QQ农场-phpYeFarm添加数据教程

前置知识 plugin\qqfarm\core\data D:\study-project\testweb\upload\source\plugin\qqfarm\core\data 也就是plugin\qqfarm\core\data是一个缓存文件,如果更新农场数据后,必须要删除才可以 解决种子限制(必须要做才可以添加成功) 你不更改加入了id大于2000直接删除种子 D…

Bridge 桥接

意图 将抽象部分与其显示部分分离&#xff0c;使他们都可以独立地变化。 结构 其中&#xff1a; Abstraction定义抽象类的接口&#xff0c;维护一个指向Implementer类型对象的指针。RefinedAbstraction扩展由Abstraction定义的接口。Implementor定义实现类的接口&#xff0c…

2024年DTC的回顾与思考

刚结束了2024的数据库技术嘉年华 这是我从2017年开始就参加的技术大会。中途因为疫情的耽误。正常来说我是连续的。知道我的朋友都知道我习惯炫耀一下。 按照惯例&#xff0c;此时此刻群友都在写大会回顾。只是有几个不讲武德的人已经发送了。下面有主观和客观的分析。 主观上…

亚马逊云科技CTO带你学习云计算降本增效秘诀

2023亚马逊云科技一年一度的重磅春晚--Re:invent上有诸多不同话题的主题Keynote&#xff0c;这次小李哥带大家复盘来自亚马逊CTO: Wener博士的主题演讲: 云架构节俭之道1️⃣节俭对于云计算为什么重要&#xff1f; ▶️企业基础设施投入大&#xff0c;利用好降本策略可以减少巨…