Slide 5
Slide 5 text
Runnableプロトコルのインターフェース
同期
stream レスポンスをチャンク毎に出力 for s in chain.stream({"topic": "bears"}):
print(s.content, end="", flush=True)
invoke レスポンス全体を出力 chain.invoke({"topic": "bears"})
#=> AIMessage(content="...")
batch 複数インプットを一括実行 chain.batch([{"topic": "bears"}, {"topic": "cats"}])
#=> [AIMessage(content="..."), AIMessage(content="...")]
非同期
astream 非同期でチャンクを出力 async for s in chain.astream({"topic": "bears"}):
print(s.content, end="", flush=True)
ainvoke 非同期でレスポンス全体を出力 await chain.ainvoke({"topic": "bears"})
abatch 非同期で複数インプットを一括実行 await chain.abatch([{"topic": "bears"}, {"topic": "cats"}])
astream_log
最終的なレスポンスに加え、中間ステップも
チャンク毎に出力する
async for chunk in retrieval_chain.astream_log(
"where did harrison work?", include_names=["Docs"], diff=False
):
print("-" * 70)
print(chunk)
Runnableプロトコルを実装したクラスは以下のメソッドを呼び出すことができる