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. 步步为赢