インテリジェンスを構築する際の最も一般的なパターンの1つは、自然言語を構造化されたツール呼び出しに変換することである。これは、タスクを推論して実行できるインテリジェンスを構築できる強力なパターンです。
このパターンをアトミックに適用すると、フレーズ(たとえば)
2月に開催されるAI tinkerers(AI愛好家)ミートアップのスポンサーとして、テリーのために750ドルの支払いリンクを作ってもらえませんか?
をStripe APIコールを記述する構造化オブジェクトに変換します。
{
"function": {
"name": "create_payment_link",
"parameters": {
"amount": 750,
"customer": "cust_128934ddasf9",
"product": "prod_8675309",
"price": "prc_09874329fds",
"quantity": 1,
"memo": "嗨 Jeff - 请查看下方为赞助二月份 ai tinkerers (AI 爱好者) 聚会而创建的支付链接"
}
}
}
銘記する実際には、Stripe APIはもう少し複雑です。 この操作を実際に行うインテリジェンス は、顧客のリスト、商品のリスト、価格のリストなどによって、正しいIDでこのロード(ペイロード)を構築するか、プロンプト/コンテキスト・ウィンドウにこれらのIDを含めるかのどちらかである(この2つがどういうわけか同じであることは後でわかる!)。.
決定論的コードは、このペイロードを受け取って処理することができる。(これについては 要素3)
# 大语言模型接收自然语言并返回一个结构化对象
nextStep = await llm.determineNextStep(
"""
为 Jeff 创建一个 750 美元的支付链接
用于赞助二月份的 AI tinkerers (AI 爱好者) 聚会
"""
)
# 根据其功能处理结构化输出
if nextStep.function == 'create_payment_link':
stripe.paymentlinks.create(nextStep.parameters)
return # 或者任何你想要的操作,见下文
elif nextStep.function == 'something_else':
# ... 更多情况
pass
else: # 模型没有调用我们已知的工具
# 执行其他操作
pass
銘記する本格的なインテリジェンスであれば、APIコールの結果を受け取ってループし、最終的に以下のような結果を返すだろう。
2月に開催されるAIティンカラーズ(AI愛好家)の集いのスポンサーとして、テリーに750ドルの支払いリンクを作成することに成功した。リンクはこちら:https://buy.stripe.com/test_1234567890
それにもかかわらずこのステップはここでは省略し、別の要素に回すことにする。.