Antwort von Modell generieren

Ruft eine Textantwort von einem KI-Modell ab, basierend auf einem Benutzer-Prompt.

Optionen 

  • Kontoname ist ein Textausdruck für den Namen des zu verwendenden KI-Kontos. Verwenden Sie in der aktuellen Datei den Scriptschritt „KI-Konto konfigurieren“, um das Konto einzurichten und ihm diesen Namen zuzuweisen, bevor dieser Scriptschritt ausgeführt wird.

  • Modell ist der Name des zu verwendenden Textgenerierungsmodells. Geben Sie den Modellnamen als Textausdruck an. Unterstützte Modelle finden Sie unter FileMaker – Technische Daten.

  • Benutzer-Prompt ist ein Textausdruck für die Abfrage oder Frage in natürlicher Sprache, die an das Modell gesendet werden soll und in der Regel vom Benutzer gestellt wird.

  • Agentischer Modus steuert, wie dieser Scriptschritt automatisierte Tool-Interaktionen behandelt:

    • Ein: Aktiviert automatisierte mehrstufige Interaktionen, bei denen das Modell Tools wiederholt aufrufen kann, bis ein Endergebnis erreicht ist.

    • Aus: Führt eine einzelne Interaktion durch und stoppt nach dem ersten Tool-Aufruf, ohne den Tool-Aufruf auszuführen oder ein Ergebnis in Antwort zurückzugeben, wodurch eine manuelle Bearbeitung und Fehlerbehebung möglich ist. Wenn keine Tool-Aufrufe erfolgen, wird das Ergebnis aus dem Modell in Antwort ausgegeben.

  • Antwort gibt das Feld oder die Variable an, in der das Ergebnis des Scriptschritts gespeichert werden soll. Wenn Sie ein Feld angeben und Stream auswählen, muss das Feld im aktuellen Layout enthalten sein.

  • Anweisungen sind Textausdrücke, die zusätzlichen Kontext oder Verhaltensrichtlinien für das Modell bereitstellen.

  • Mitteilungen gibt das Feld oder die Variable an, die den Mitteilungsverlauf enthält, um den Modellkontext aus früheren Interaktionen bereitzustellen. Die Mitteilungen sind ein Array von JSON-Objekten. Jedes JSON-Objekt muss Schlüssel-Wert-Paare für den Text der Mitteilung (content) und den Ersteller des Inhalts (role) enthalten, entweder den Benutzer („user“) oder das Modell („assistant“). Beispiel:

    Kopieren

      {
        "content": "Wie ist die Temperatur in Cupertino?",
        "role": "user"
      },
      {
        "content": "Die Temperatur in Cupertino beträgt 72 Grad Fahrenheit.",
        "role": "assistant"
      }
    ]
  • Mitteilungsverlauf speichern unter gibt die Variable an, in der der Scriptschritt den Mitteilungsverlauf speichert. Das Format ist das gleiche wie bei Mitteilungen, wobei das Mitteilungspaar für den aktuellen Durchlauf dieses Scriptschritts am Ende hinzugefügt wird.

    Wenn der Mitteilungsverlauf nach Beendigung des aktuellen Scripts erhalten bleiben soll, verwenden Sie eine globale Variable (die bis zum Ende der FileMaker-Client-Sitzung erhalten bleibt) oder speichern Sie den Wert der Variable in einem Feld. Siehe Verwenden von Variablen oder den Scriptschritt „Feldwert setzen“.

  • Mitteilungsverlauf – Anzahl ist ein numerischer Ausdruck, der die Anzahl der vorherigen Mitteilungspaare (Benutzerfrage und Assistentenantwort) steuert, die in die durch Mitteilungsverlauf speichern unter angegebene Variable aufgenommen werden sollen.

  • Temperatur steuert die Zufälligkeit oder Kreativität der Reaktion eines Modells auf einen Prompt. Niedrige Werte führen zu deterministischeren, sachlicheren Ergebnissen. Hohe Werte generieren kreativere, unerwartete oder weniger kohärente Ergebnisse. Die gültigen Bereiche für das von Ihnen verwendete Modell finden Sie in der Dokumentation des Modellanbieters.

  • Tool-Definitionen gibt ein JSON-Array der verfügbaren Werkzeuge (Tools) an, die das Modell während der Verarbeitung aufrufen kann. Siehe "Tool-Definitionen" unten.

  • Tool-Aufrufe vom Modell gibt an, wo Informationen zu vom Modell vorgenommenen Tool-Aufrufen gespeichert werden sollen. Dies kann für die Fehlersuche oder zur Überprüfung der Verwendung von Werkzeugen im Modell nützlich sein.

  • Stream steuert, wie die Antwort geliefert wird:

    • Ein: Die Antwort wird schrittweise abgerufen und übermittelt (Wort für Wort oder in Phrasen). Dadurch reagiert der FileMaker-Client möglicherweise schneller.

    • Aus: Die gesamte Antwort wird abgerufen, bevor sie verfügbar gemacht wird. Dies kann dazu führen, dass der FileMaker-Client nicht mehr reagiert, während er auf die vollständige Antwort wartet.

  • Parameter ist ein Textausdruck für ein JSON-Objekt, das aus Schlüssel-Wert-Paaren für zusätzliche Parameter besteht, die vom Modellanbieter unterstützt werden. Beispiel: {"Temperatur": 0.7, "seed": 42}. Die Namen der Schlüssel für die unterstützten Parameter und deren gültige Bereiche finden Sie in der Dokumentation des Modellanbieters.

  • JavaScript in Web Viewer ausführen gibt den JavaScript-Code an, der in einem Ziel-Web Viewer nach Abschluss des Scriptschritts ausgeführt werden soll. Diese Option ähnelt der Ausführung des Scriptschritts Scriptschritt „JavaScript in Web Viewer ausführen“ als nächsten Scriptschritt, mit dem Unterschied, dass die Antwort an die JavaScript-Funktion übergeben und an den Web Viewer gestreamt werden kann, wenn die Option Stream auf Ein gesetzt ist.

    • Web Viewer gibt den Objektnamen eines Web Viewers im aktuellen Layout an.

    • Funktionsname ist der Name der JavaScript-Funktion, die im Web Viewer aufgerufen werden soll.

Kompatibilität 

Produkt Unterstützt
FileMaker Pro Ja
FileMaker Go Ja
FileMaker WebDirect Ja
FileMaker Server Ja
FileMaker Cloud Ja
FileMaker Data API Ja
Custom Web Publishing Ja

Ursprung in Version 

22.0

Beschreibung 

Dieser Scriptschritt erleichtert die mehrstufige Interaktion zwischen Ihrer eigenen App und KI-Modellen, sodass das Modell bei Bedarf über Tool-Aufrufe auf Daten zugreifen und diese bearbeiten kann. Der Scriptschritt arbeitet in zwei unterschiedlichen Modi, die auf der Option Agentischer Modus basieren und jeweils unterschiedliche Automatisierungs- und Kontrollstufen für die Interaktion bieten.

Die Interaktion zwischen diesem Scriptschritt und dem Modell erfolgt in der Regel wie folgt:

  1. Dieser Scriptschritt sendet den Benutzer-Prompt, alle Anweisungen, den Konversationskontext aus Mitteilungen und die verfügbaren Tool-Definitionen an das konfigurierte Modell.

  2. Das Modell analysiert den Prompt und bestimmt, ob es eine direkte Antwort geben kann oder ob Tools zum Sammeln zusätzlicher Informationen oder zum Ausführen von Aktionen erforderlich sind.

  3. Wenn Tools benötigt werden, generiert das Modell Tool-Aufrufe mit entsprechenden Parametern basierend auf den verfügbaren Tool-Definitionen und der Abfrage des Benutzers.

  4. Dieser Scriptschritt empfängt die Tool-Aufrufe vom Modell und der FileMaker-Client führt sie aus. Die Tool-Ausführung kann vordefinierte Tools wie SQL-Abfragen oder Aufrufe Ihrer eigenen Funktionen umfassen.

  5. Dieser Scriptschritt sendet die Ergebnisse der Tool-Ausführung zurück an das Modell und versorgt das Modell mit den Daten oder Bestätigungen, die es zur Fortsetzung der Verarbeitung benötigt.

  6. Wenn das Modell feststellt, dass zusätzliche Tools erforderlich sind, um den Prompt vollständig zu bearbeiten, generiert es möglicherweise weitere Tool-Aufrufe (Wiederholung der Schritte 3 bis 5). Dieser iterative Prozess wird fortgesetzt, bis das Modell über ausreichende Informationen verfügt, um eine umfassende Antwort zu liefern.

  7. Nachdem das Modell alle erforderlichen Tool-Interaktionen abgeschlossen hat, generiert es eine endgültige Antwort, die die Tool-Ergebnisse enthält und auf den ursprünglichen Benutzer-Prompt eingeht.

  8. Dieser Scriptschritt empfängt die letzte Antwort, speichert sie im angegebenen Antwort-Ziel und aktualisiert optional den Verlauf der Interaktionen in Mitteilungsverlauf speichern unter.

Die Option Agentischer Modus bestimmt, wie die Interaktion gehandhabt wird:

  • Ein: Aktiviert die automatisierte mehrstufige Interaktion mit Tools, wobei der gesamte Workflow (Schritte 1–8) automatisch ausgeführt wird. Wenn das KI-Modell feststellt, dass Tools zur Erfüllung der Abfrage erforderlich sind, ruft es automatisch die entsprechenden Tools auf und setzt die Verarbeitung fort, bis ein Endergebnis vorliegt. Das Modell kann bei Bedarf mehrere Runden von Tool-Aufrufen durchführen, wobei jede Runde auf den Ergebnissen der vorherigen Tool-Ausführungen aufbaut. Dieser Modus ist für komplexe Aufgaben vorgesehen, die mehrere Tool-Interaktionen erfordern, z. B. die Analyse von Daten aus mehreren Tabellen, das Generieren von Berichten oder die Ausführung mehrstufiger Vorgänge.

  • Aus: Führt eine einzelne Interaktion mit dem KI-Modell durch, wobei nur die Schritte 1 bis 3 ausgeführt werden und nach dem ersten Tool-Aufruf gestoppt wird. Wenn das Modell feststellt, dass Tools benötigt werden, wird der Scriptschritt angehalten und die Tool-Aufrufinformationen in Tool-Aufrufe vom Modell zurückgegeben, anstatt die Tools automatisch auszuführen. Dieser Modus ist nützlich, um Tool-Interaktionen zu debuggen, zu verstehen, welche Tools das Modell verwenden möchte, oder wenn Sie die Ausführung der Tools manuell steuern möchten. Sie können die Tool-Aufrufe überprüfen und dann entscheiden, ob Sie sie manuell ausführen oder den Ansatz ändern möchten.

Der Informationsfluss zwischen diesem Scriptschritt und dem Modell gewährleistet, dass sensible Daten sicher bleiben und gleichzeitig KI-gesteuerte Funktionen genutzt werden können. Das Modell erhält nur die Informationen, die explizit über Prompts, Anweisungen und Tool-Ergebnisse bereitgestellt werden – es hat keinen direkten Zugriff auf Ihre FileMaker-Datenbank oder Dateien. Tool-Aufrufe werden innerhalb der kontrollierten FileMaker-Umgebung ausgeführt, sodass Sie über FileMaker-Konten und -Zugriffsrechte die volle Kontrolle über den Datenzugriff und die Datenoperationen behalten und gleichzeitig die Analyse- und Reasoning-Funktionen des Modells nutzen können.

Tool-Definitionen

Tool-Verwendung (von einigen Modellanbietern auch als Funktionsaufruf bezeichnet) ermöglicht es dem Modell, Ihre FileMaker Pro-App nochmal aufzurufen, um etwas auszuführen oder bereitzustellen, das das Modell zur Generierung seiner endgültigen Antwort benötigt. Im agentischen Modus kann das Modell mehrere Tools wiederholt aufrufen, bis es fertig ist. In der Option Tool-Definitionen können Sie die folgenden Tools definieren:

  • execute_sql: Ein vordefiniertes Tool, das die angegebene SQL-Abfrage ausführt und eine vom Modell übergebene SQL-Anweisung auf dieselbe Weise ausführen kann wie der Scriptschritt „SQL-Abfrage in natürlicher Sprache ausführen“.

  • retrieve_image: Ein vordefiniertes Tool, das ein Bild aus dem Containerfeld abruft, das durch eine SQL-Abfrage, einen Tabellennamen und einen Containerfeldnamen angegeben ist.

  • Eigene Funktionen: Alle in Ihrer Datei definierten eigenen Funktionen. Siehe Verwenden eigener Funktionen.

Tool-Definitionen werden im vom Modellanbieter geforderten JSON-Format angegeben. Im Allgemeinen handelt es sich bei der Definition um ein Array von Objekten, in denen jeweils der Name eines Tools, eine detaillierte Beschreibung seiner Funktion und der Regeln, die das Modell bei seiner Verwendung befolgen soll, sowie für jeden Eingabeparameter dessen Name, Datentyp und Beschreibung angegeben sind. Die Beschreibungen sollten so detailliert sein, wie es für die zuverlässige Verwendung des Tools durch das Modell erforderlich ist. Wenn Sie die vordefinierten Tools verwenden, beginnen Sie mit den unten angegebenen Definitionen. Passen Sie diese bei Bedarf an, um optimale Ergebnisse für die von Ihnen verwendeten Modelle zu erzielen.

Um Ihnen die Fehlersuche in Ihren Tool-Definitionen zu erleichtern, setzen Sie die Option Tool-Aufrufe vom Modell auf ein Feld oder eine Variable, in der Sie sehen können, wie oder ob das Modell die Tools aufgerufen hat. So können Sie leichter erkennen, was Sie in den Beschreibungen Ihrer Tool-Definitionen hinzufügen oder ändern müssen.

Informationen zum spezifischen JSON-Format, das für Tool-Definitionen und Tool-Aufrufe verwendet wird, finden Sie in der Dokumentation des Modellanbieters, z. B. Anthropic, Cohere und OpenAI.

execute_sql

Funktionsname

execute_sql

 

Funktionsbeschreibung

Respond to the user’s questions by executing the appropriate SQL query using this function. Strictly follow these rules:\r 1. The input should be a fully formed SQL query.\r 2. Perform separate SQL instead of one nested SQL.\r 3. Escaping special characters for SQL query.\r 4. If the result of the toolCall is a raw string that reads 'empty' or 'null', the answer should contain the quoted raw string, which is case sensitive.\r 5. Convert the user’s request into an SQL query using standard SQL syntax only. Ensure that table names and field names match exactly as they appear in the database schema.

 

Parametername

sql_query

 

Parameterbescheibung

Generate a fully formed SQL query based on following rules:\r 1. Enclose all table and field names in double quotes.\r 2. Format dates as \"DATE 'YYYY-MM-DD'\", times as \"TIME 'HH:MM:SS'\" and timestamps as \"TIMESTAMP 'YYYY-MM-DD HH:MM:SS'\".\r 3. Return queries in plain text (not JSON).\r 4. Use \"FETCH FIRST n ROW ONLY\" instead of \"LIMIT\".\r 5. Support single queries only.\r 6. No semicolon is needed at the end of SQL query.\r 7. Don't generate nested SQL queries.\r 8. Use \"LIKE\" instead of \"ILIKE\".\r 9. Keep all comparisons case-sensitive.\r 10. Do not include fields that are not included in the question.\r 11. Use unquoted ROWID in queries.\r 12. Only utilize the following database schema:\r

Fügen Sie das Schema, das das Modell verwenden soll, am Ende dieser Beschreibung ein. Geben Sie das Schema in der Datendefinitionssprache (Data Definition Language, DDL) an, wie es von der Funktion „GetTableDDL“ für die Tabellenauftreten zurückgegeben wird, die Sie einfügen möchten.

 

Gibt zurück: Das Ergebnis der SQL-Abfrage als String.

retrieve_image

Funktionsname

retrieve_image

 

Funktionsbeschreibung

This function MUST be called whenever the user asks for any image-related data, such as photos, profile pictures, avatars, or any visual representation stored in the database. Use this to fetch image data by constructing an SQL query that returns the ROWID (unquoted) of the relevant row. Always prefer this over other functions for image retrieval.

 

Parameter 1 Name

sql_query

 

Parameter 1 Bescheibung

An SQL query used to locate the ROWID of the row containing the desired image. Example: SELECT ROWID FROM \"Contacts\" WHERE \"Last Name\" = 'Smith'. \r\r Only utilize the following database schema:\r

Fügen Sie das Schema, das das Modell verwenden soll, am Ende dieser Beschreibung an. Geben Sie das Schema in der Datendefinitionssprache (Data Definition Language, DDL) an, wie es von der Funktion „GetTableDDL“ für die Tabellenauftreten zurückgegeben wird, die Sie einfügen möchten.

 

Parameter 2 Name

table

 

Parameter 2 Bescheibung

Der Name der Tabelle, die das Bildfeld enthält.

 

Parameter 3 Name

field

 

Parameter 3 Bescheibung

Das Containerfeld, in dem das Bild gespeichert ist.

 

Gibt zurück: JSON-Daten im folgenden Format, die das Bild als Base64-kodierten String enthalten.

Kopieren
[
  {
    "data": "/9j/4AAQ...//2Q=="
  }
]

Eigene Funktionen

Beachten Sie die folgenden Richtlinien für Tool-Definitionen, um eigene Funktionen aufzurufen:

  • Für die Funktion:

    • Verwenden Sie im Schlüssel name genau den Namen der eigenen Funktion, wie er im Dialogfeld „Eigene Funktion bearbeiten“ definiert wurde.

    • Geben Sie im Schlüssel description eine detaillierte Beschreibung der Funktion der eigenen Funktion an sowie der Regeln, die das Modell bei ihrer Verwendung befolgen soll.

  • Für Parameter:

    • Definieren Sie genau dieselbe Anzahl von parameters und in derselben Reihenfolge wie die im Dialogfeld „Eigene Funktion bearbeiten“ definierten Parameter. Die Parameternamen müssen nicht identisch sein.

    • Geben Sie im Schlüssel description eine detaillierte Beschreibung dessen an, was das Modell im Parameter bereitstellen muss.

    • Setzen Sie den Wert des Schlüssels type auf „String” (Parameter werden immer als Text behandelt).

Hinweise 

  • Häufige Fehlermeldungen sind „Kein Tool-Aufruf für den Prompt vorhanden“, wenn das Modell keine geeigneten Tools ermitteln kann, und „Funktion nicht gefunden“, wenn eine Tool-Definition auf eine eigene Funktion verweist, die nicht vorhanden ist.

Beispiel 1 

Konfiguriert ein KI-Konto, wechselt zum Layout „Kontakte“ und zeigt dann ein Dialogfeld an, in dem der Benutzer eine Frage eingeben kann. Der Scriptschritt „Antwort von Modell generieren“ sendet dann den Prompt und den letzten Mitteilungsverlauf an das Modell und überträgt das Ergebnis in das Feld „Antwort“. Für eine einfache Frage-Antwort-Interaktion wie diese wird der Agentische Modus nicht ausgewählt. Um den Kontext mit dem Modell während der aktuellen FileMaker-Client-Sitzung beizubehalten, speichert der Scriptschritt die letzten 10 Mitteilungen in der globalen Variablen $$Mitteilungen über die Option Mitteilungsverlauf speichern unter. Über die Option Mitteilungen sendet der Scriptschritt den Wert der Variablen $$Mitteilungen an das Modell, wenn dieses Script später in derselben Sitzung ausgeführt wird. Da die Option Tool-Definitionen nicht verwendet wird, kann das Modell keine Fragen zu Ihren Daten beantworten.

Kopieren
KI-Konto konfigurieren [ Kontoname: "mein-Konto" ; Modellanbieter: OpenAI ; API-Schlüssel: Global::API_Schlüssel ] 

Gehe zu Layout [ "Kontakte" (Kontakte) ]

Eigenes Dialogfeld anzeigen [ "Eine Frage eingeben" ; $BenutzerPrompt ]

Antwort von Modell generieren [ Kontoname: "mein-Konto" ; Modell: Global::Modellname ; BenutzerPrompt: $BenutzerPrompt ; Antwort: Kontakte::Antwort ; Mitteilungen: $$Mitteilungen ; Mitteilungsverlauf speichern unter: $$Mitteilungen ; Mitteilungsverlauf – Anzahl: 10 ; Stream ]

Beispiel 2 

Konfiguriert ein KI-Konto, wechselt zum Layout „Kontakte“ und sendet dann einen Prompt mit einer Frage zu den Daten in der Tabelle „Kontakte“ an das Modell, das mithilfe von Tools eine Antwort generiert. Da bis zu 10 Mitteilungen über $$Mitteilungen im globalen Variablenfeld „Mitteilungen“ gespeichert werden, bleibt der Kontext über FileMaker-Client-Sitzungen hinweg erhalten.

Kopieren
}KI-Konto konfigurieren [ Kontoname: "mein-Konto" ; Modellanbieter: OpenAI ; API-Schlüssel: Global::API_Schlüssel ] 

Gehe zu Layout [ "Kontakte" (Kontakte) ]

Variable setzen [ $Anweisungen; Wert: "Sie sind ein hilfreicher Assistent, der Datenbankinformationen abfragen kann. Geben Sie immer klare, formatierte Antworten." ]

Variable setzen [ $BenutzerPrompt ; "Wie viele Kontakte haben wir bei Acme Anvils, und wie lauten deren Namen und E-Mail-Adressen? Fügen Sie hinter den Kontakten, die sich in einer Stadt befinden, in der wir eine Vertriebsniederlassung haben, ein Sternchen ein. ]

Antwort von Modell generieren [ Kontoname: "mein-Konto" ; Modell: Global::Modellname ; Benutzer-Prompt: $Benutzer-Prompt ; Antwort: Kontakte::Antwort ; Tool-Aufrufe vom Modell: $$Tool-Aufrufe ; Anweisungen: $Anweisungen ; Mitteilungen: Global::Mitteilungen ; Mitteilungsverlauf speichern unter: $$Mitteilungen ; Mitteilungsverlauf – Anzahl: 10 ; Tool-Definitionen: Global::Tool-Definitionen ; Stream ]

Feldwert setzen [ Global::Mitteilungen ; $$Mitteilungen ]

Das Feld „Tool-Definitionen“ enthält unter Verwendung des JSON-Formats für den Modellanbieter OpenAI Folgendes:

Kopieren
[
  {
    "function": {
      "description": "Respond to the user’s questions by executing the appropriate SQL query using this function. Strictly follow these rules:\r 1. The input should be a fully formed SQL query.\r 2. Perform separate SQL instead of one nested SQL.\r 3. Escaping special characters for SQL query.\r 4. If the result of the toolCall is a raw string that reads 'empty' or 'null', the answer should contain the quoted raw string, which is case sensitive.\r 5. Convert the user’s request into an SQL query using standard SQL syntax only. Ensure that table names and field names match exactly as they appear in the database schema.",
        "name": "execute_sql",
        "parameters": {
          "properties": {
            "sql_query": {
              "description": "Generate a fully formed SQL query based on following rules:\r 1. Enclose all table and field names in double quotes.\r 2. Format dates as \"DATE 'YYYY-MM-DD'\", times as \"TIME 'HH:MM:SS'\" and timestamps as \"TIMESTAMP 'YYYY-MM-DD HH:MM:SS'\".\r 3. Return queries in plain text (not JSON).\r 4. Use \"FETCH FIRST n ROW ONLY\" instead of \"LIMIT\".\r 5. Support single queries only.\r 6. No semicolon is needed at the end of SQL query.\r 7. Don't generate nested SQL queries.\r 8. Use \"LIKE\" instead of \"ILIKE\".\r 9. Keep all comparisons case-sensitive.\r 10. Do not include fields that are not included in the question.\r 11. Use unquoted ROWID in queries.\r 12. Only utilize the following database schema:\rCREATE TABLE \"Kontakte\" (\r\"Vorname\" varchar(255),\r\"Nachname\" varchar(255),\r\"E-Mail\" varchar(255),\r\r\"Stadt\" varchar(255),\r\"Unternehmen\" varchar(255)\r);\r\r",
              "type": "string"
            }
          },
          "type": "object",
          "required": ["sql_query"]
        }
      },
      "type": "function"
  },
  {
    "function": {
      "description": "Überprüfen, ob unser Unternehmen eine Vertriebsniederlassung in einer bestimmten Stadt hat. Ist dies der Fall, gibt diese Funktion 'ja'; zurück, andernfalls 'nein'.",
        "name": "StadtHatVertriebsniederlassung",
        "parameters": {
          "properties": {
            "city": {
              "description": "Der Name der Stadt",
              "type": "string"
            }
          },
           "type": "object",
          "required": ["city"]
        }
      },
      "type": "function"
  }
]

Für „execute_sql“ verwenden Sie die oben angegebene Funktionsbeschreibung und Parameterbeschreibung. Verwenden Sie im Parameter „sql_query“ die oben angegebene Beschreibung, gefolgt vom Schema für die Tabelle „Kontakte“.

Die eigene Funktion „StadtHatVertriebsniederlassung“ gibt „ja“ oder „nein“ zurück, je nachdem, ob die angegebene Stadt über eine Vertriebsniederlassung verfügt.

Mögliche Antwort, die in das Antwortfeld gestreamt wird:

Kopieren
Wir haben 4 Kontakte von Acme Anvils. Hier sind ihre Namen, E-Mail-Adressen und ein Sternchen, das angibt, ob sie in einer Stadt mit einer Vertriebsniederlassung ansässig sind:

1. Alea Marks, aleamarks165@beispiel.com
2. Kelly Holden, kellyholden1361@beispiel.com *
3. Kelsey Cummings, kelseycummings1396@beispiel.com
4. Kuame Savage, kuamesavage7146@beispiel.com

Die Variable „$$Tool-Aufrufe“ enthält mehrere Aufrufe von „execute_sql“ und „StadtHatVertriebsniederlassung“.

Kopieren
[
  {
    "index": 0,
    "id": "call_e7...",
    "type": "function",
    "function": {
      "name": "execute_sql",
      "arguments": "{\"sql_query\":\"SELECT COUNT(*) FROM \\\"Kontakte\\\" WHERE \\\"Unternehmen\\\" = 'Acme Anvils'\"}"
    }
  },
  {
    "index": 0,
    "id": "call_o0...",
    "type": "function",
    "function": {
      "name": "execute_sql",
      "arguments": "{\"sql_query\":\"SELECT \\\"Vorname\\\", \\\"Nachname\\\", \\\"E-Mail\\\", \\\"Stadt\\\" FROM \\\"Kontakte\\\" WHERE \\\"Unternehmen\\\" = 'Acme Anvils'\"}"
    }
  },
  {
     "index": 0,
    "id": "call_ev...",
    "type": "function",
    "function": {
      "name": "StadtHatVertriebsniederlassung",
      "arguments": "{\"city\": \"Onitsha\"}"
    }
  },
  {
    "index": 1,
    "id": "call_IC...",
    "type": "function",
    "function": {
      "name": "StadtHatVertriebsniederlassung",
      "arguments": "{\"city\": \"Berlin\"}"
    }
  },
  {
    "index": 2,
    "id": "call_Pw...",
    "type": "function",
    "function": {
      "name": "StadtHatVertriebsniederlassung",
      "arguments": "{\"city\": \"Saint-Malo\"}"
    }
  },
  {
    "index": 3,
    "id": "call_Uy...",
    "type": "function",
    "function": {
      "name": "StadtHatVertriebsniederlassung",
      "arguments": "{\"city\": \"Wanneroo\"}"
    }
  }
]