Eines der gängigsten Muster beim Aufbau von Intelligenzen ist die Umwandlung natürlicher Sprache in strukturierte Werkzeugaufrufe. Dies ist ein leistungsfähiges Muster, mit dem Sie Intelligenzen erstellen können, die über Aufgaben nachdenken und sie ausführen können.
Das Muster, wenn es atomar angewandt wird, besteht darin, eine Phrase (z. B.) zu nehmen
Können Sie für Terri einen Link für die Zahlung von 750 Dollar erstellen, damit sie ein KI-Tüftler-Treffen im Februar sponsern kann?
in ein strukturiertes Objekt, das den Stripe-API-Aufruf beschreibt, wie folgt
{
"function": {
"name": "create_payment_link",
"parameters": {
"amount": 750,
"customer": "cust_128934ddasf9",
"product": "prod_8675309",
"price": "prc_09874329fds",
"quantity": 1,
"memo": "嗨 Jeff - 请查看下方为赞助二月份 ai tinkerers (AI 爱好者) 聚会而创建的支付链接"
}
}
}
zur Kenntnis nehmenIn der Praxis ist die Stripe-API ein wenig komplexer, mit einer Intelligenz, die diesen Vorgang tatsächlich durchführt entweder diese Ladung (Payload) mit den richtigen IDs aufbauen, indem es den Kunden, das Produkt, den Preis usw. auflistet, oder diese IDs in das Prompt-/Kontextfenster aufnehmen (wir werden später sehen, dass die beiden irgendwie gleich sind!). .
Der deterministische Code kann dann diese Nutzlast empfangen und verarbeiten. (Mehr dazu unter Element 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
zur Kenntnis nehmenEine vollwertige Intelligenz würde das Ergebnis des API-Aufrufs in einer Schleife verarbeiten und schließlich etwas wie das Folgende zurückgeben
Ich habe erfolgreich einen Zahlungslink für Terri für $750 erstellt, um das Treffen der AI-Tüftler (AI-Enthusiasten) im Februar zu sponsern. Hier ist der Link: https://buy.stripe.com/test_1234567890
DennochDiesen Schritt überspringen wir hier und heben ihn für ein anderes Element auf, bei dem Sie ebenfalls entscheiden können, ob Sie es integrieren wollen oder nicht (das bleibt Ihnen überlassen!). .