chain的不同调用方法

1、run方法

run方法是基本方法,返回为字符串格式。0.2.0后舍弃

context = "袜子"
chain = LLMChain(prompt=prompt, llm=model)
# 下面三种方式等价
llm_output = chain.run(context)
llm_output = chain.run({'context': context})
llm_output = chain.run(context=context)

返回

1. 袜趣
2. 足下风情
3. 舒适之旅
4. 袜美人生
5. 步步为赢

chain.run(context)这种形式只用于传入一个参数,若传入多个参数,调用形式如下

chain.run({'context': context, 'num':num})
chain.run(context=context, num=num)

2、__call__方法

下面两种方式等价。

llm_output = chain(context)  
llm_output = chain({'context': context})  

返回dict形式,通过添加, return_only_outputs=True,可以只返回text键

{'context': '袜子', 'text': '\n\n1. 袜趣\n2. 足下风情\n3. 舒适之旅\n4. 袜美人生\n5. 步步为赢'}

chain(context)只可传入一个参数,若传入多个参数,调用形式如下

chain({'context': context, 'num':num})

3、invoke方法

invoke方法是单次调用
下面两种方式等价

chain.invoke(context)
chain.invoke({'context': context})

返回dict格式

{'context': '袜子',  'text': '\n\n1. 袜趣\n2. 足下风情\n3. 舒适之旅\n4. 袜美人生\n5. 步步为赢'}

chain.invoke(context)只可传入一个参数,若传入多个参数,利用chain.invoke({‘context’: context, ‘num’:num})

4、predict方法

单个或者多个输出参数,调用方式都如下,其他方式出错

chain.predict(context=context, num=num)

返回字符串形式

1. 袜趣
2. 足下风情
3. 舒适之旅
4. 袜美人生
5. 步步为赢

5、各方法对比

下面方式等价,只是返回形式各有不同

chain.run({'context': context, 'num':num}))
chain({'context': context, 'num': num})
chain.invoke({'context': context, 'num': num})
chain.predict(context=context, num=num)

返回如下



1. 袜趣
2. 足下风情
3. 舒适之旅
4. 袜美人生
5. 步步为赢
{'context': '袜子', 'num': '5', 'text': '\n\n1. 袜趣\n2. 足下风情\n3. 舒适之旅\n4. 袜美人生\n5. 步步为赢'}
{'context': '袜子', 'num': '5', 'text': '\n\n1. 袜趣\n2. 足下风情\n3. 舒适之旅\n4. 袜美人生\n5. 步步为赢'}


1. 袜趣
2. 足下风情
3. 舒适之旅
4. 袜美人生
5. 步步为赢
  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值