Airtable + GPT: Prototyping eines leichten Lappensystems mit No-Code-WerkzeugenAirtable + GPT: Prototyping eines leichten Lappensystems mit No-Code-Werkzeugen
Bild von Editor | Chatgpt

# Einführung

Bereit für eine praktische Exemplar mit wenig bis gar keinem Code, abhängig von dem von Ihnen gewählten Ansatz? Dieses Tutorial zeigt, wie zwei beeindruckende Werkzeuge zusammengebunden werden können – OpenaiGPT -Modelle und die Lufttable Cloud-basierte Datenbank-zum Prototyp eines einfachen Abriebsystems (RAG-Methods für mit Toy). Das System akzeptiert fragebasierte Eingabeaufforderungen und verwendet Textdaten, die in Airtable als Wissensbasis gespeichert sind, um geerdete Antworten zu erstellen. Wenn Sie mit Lappensystemen nicht vertraut sind oder eine Auffrischung wollen, verpassen Sie dies nicht Artikelreihe zum Verständnis von Lappen.

# Die Zutaten

Um dieses Tutorial selbst zu üben, brauchen Sie:

  • Ein Airtable -Konto mit einer Foundation, die in Ihrem Arbeitsbereich erstellt wurde.
  • Ein OpenAI -API -Schlüssel (idealerweise ein bezahlter Plan für Flexibilität bei der Modellauswahl).
  • A Pipedream Konto – Eine orchestrierungs- und Automatisierungs -App, die das Experimentieren unter einer kostenlosen Stufe ermöglicht (mit Grenzen der täglichen Läufe).

# Das Rezept zur Wiederaufnahme von Abrufgeneration

Der Prozess zum Aufbau unseres Lappensystems ist nicht rein linear, und einige Schritte können auf unterschiedliche Weise unternommen werden. Abhängig von Ihrem Programmniveau können Sie sich für einen codefreien oder nahezu codfreien Ansatz entscheiden oder den Workflow programmgesteuert erstellen.

Im Wesentlichen erstellen wir einen Orchestrierungs -Workflow, der aus drei Teilen besteht. mit Pipedream:

  1. Auslösen: Ähnlich wie bei einer Webdienstanforderung initiiert dieses Factor einen Aktionsfluss, der die nächsten Elemente im Workflow durchläuft. Nach der Bereitstellung geben Sie hier die Anfrage an, dh die Benutzeraufforderung für unser Prototypen -Lappensystem.
  2. Luftblock: Stellen Sie eine Verbindung zu unserer Airtable -Foundation und einer bestimmten Tabelle her, um seine Daten als Wissensbasis des Lag -Methods zu verwenden. Wir werden einige Textdaten in Kürze innerhalb von Airtable hinzufügen.
  3. Openai -Block: Verbinden Sie mit einem API-Schlüssel zu den GPT-basierten Sprachmodellen von OpenAI und übergeben die Benutzeraufforderung neben dem Kontext (abgerufene Lufttable) an das Modell, um eine Antwort zu erhalten.

Erstens müssen wir jedoch eine neue Tabelle in unserer Airtable -Foundation erstellen, die Textdaten enthält. Für dieses Beispiel habe ich eine leere Tabelle mit drei Feldern (ID: Einzeilungstext, Quelle: Einzeilungstext, Inhalt: Langer Textual content) erstellt und dann Daten aus diesem importiert öffentlich verfügbarer kleiner Datensatz Textual content mit Grundkenntnissen über asiatische Länder enthalten. Verwenden Sie die CSV- und Linkoptionen, um die Daten in die Tabelle zu importieren. Weitere Informationen zum Erstellen von Tabellen und zum Importieren von Daten finden Sie in Dieser Artikel.

Sobald Sie Ihre Wissensbasis in Airtable bereit haben, wechseln wir für den Relaxation des Prozesses zu PipedReam! Registrieren Sie sich, wenn Sie dies noch nicht getan haben, und melden Sie sich an. Es gibt verschiedene Möglichkeiten, einen Workflow zu initiieren. Einer von ihnen ist es, zu beschreiben, was Sie mit dem KI -Agenten von Pipedream erstellen möchten, was intuitiv ist, aber zu Fehlern führen kann, die Korrekturen benötigen, wie wir in Kürze veranschaulichen werden. PIPEDREAM hat zwei parallele UIS: eine zum manuellen Erstellen und Bearbeiten von Workflows und eine für Gespräche mit dem AI -Agenten, der als String bezeichnet wird.

PipedReams KI -Konversationsschnittstelle (String)PipedReams KI -Konversationsschnittstelle (String)
PipedReams KI -Konversationsschnittstelle (String)

Wenn Sie sich dafür entscheiden, String eine ungefähre Model Ihres gewünschten Workflows zu erstellen, beschreiben Sie klar, was erstellt werden soll, mit einer Eingabeaufforderung, die möglicherweise aussieht wie etwa:

Ich möchte eine einfache Spielzeuglag -Anwendung orchestrieren, die eine Airtable -Tabelle mit Textual content und Openai -GPT -Modellen verwendet (ich habe einen kostenpflichtigen API -Schlüssel).

Das Sprachmodell von PIPEDREAM kann eine Antwort zurückgeben, mit der Sie (auf eigenes Risiko) wie folgt genehmigen können:

Ich werde einen einfachen RAG-Agenten (ARRAVEAL-AUGmented Technology) erstellen, der Ihren Airtable-Tisch mit den GPT-Modellen von OpenAI verbindet. Hier ist, was ich bauen werde:

Richten Sie einen Auslöser ein, um Abfragen zu akzeptieren (über Webhook oder manuelle Ausführung).
Suchen Sie und rufen Sie den relevanten Textual content aus Ihrer Airtable -Tabelle an, basierend auf der Abfrage
Verwenden Sie den abgerufenen Textual content als Kontext für OpenAI GPT, um eine informierte Antwort zu generieren
Geben Sie die AI-generierte Antwort zurück, die in Ihren Lufttable-Daten beruht
Auf diese Weise erhalten Sie ein grundlegendes Lappensystem, in dem Sie Fragen stellen und Antworten auf der Grundlage der in Ihrem Airtable gespeicherten Inhalte erhalten können, die durch die Argumentationsfunktionen von GPT verbessert werden.

Für das Experimentieren und „Sehen, was passiert“, genehmigen Sie die vorgeschlagene Vorgehensweise, um einen drei Blocks-Workflow zu erhalten, der dem im oben gezeigten Bild ähnelt.

Da dies nicht die Core PipedReam -Editor -Benutzeroberfläche ist, wechseln Sie in die obere rechte Ecke auf „Öffnen Sie PipedReam“. Eine neue Registerkarte wird mit dem eigentlichen PipedReam Workflow -Editor geöffnet.

Für den Triggerblock wird eine URL automatisch mit einer ähnlichen Syntax erzeugt, die ich für meine habe: https://eoupscprutt37xx.m.pipedream.web. Klicken Sie darauf und stellen Sie im Einstellungsbereich, der auf der rechten Seite geöffnet wird, sicher, dass die ersten paar Optionen auf „Full HTTP-Anforderung“ und „eine statische Antwort zurückgeben“ festgelegt werden.

Für den zweiten Block (Airtable Motion) kann es ein wenig Arbeit geben. Schließen Sie zuerst eine Verbindung zu Ihrer Airtable -Foundation an. Wenn Sie im selben Browser arbeiten, ist dies möglicherweise unkompliziert: Melden Sie sich aus dem Popup-Fenster an, das nach dem Klicken auf „Neues Konto anschließen“ angezeigt wird. Befolgen Sie die Schritte auf dem Bildschirm, um die Foundation und die Tabelle anzugeben, um zugreifen zu können:

PIPEDREAM -Workflow -Editor: Anschließen mit AirtablePIPEDREAM -Workflow -Editor: Anschließen mit Airtable
PIPEDREAM -Workflow -Editor: Anschließen mit Airtable

Hier kommt der schwierige Teil (und ein Grund, warum ich absichtlich früher eine unvollkommene Eingabeaufforderung hinterlassen habe, als ich den KI-Agenten aufforderte, den Skelett-Workflow zu erstellen): Es gibt verschiedene Arten von Lufttablungen zur Auswahl, und die spezifische, die wir für einen Abrufenmechanismus im Rag-Stil benötigen, lautet „Listenaufzeichnungen“. Wahrscheinlich ist dies nicht die Aktion, die Sie im zweiten Block Ihres Workflows sehen. Wenn dies der Fall ist, entfernen Sie ihn, fügen Sie einen neuen Block in der Mitte hinzu, wählen Sie „Airtable“ und wählen Sie „Listendatensätze“. Schließen Sie dann wieder mit Ihrer Tabelle an und testen Sie die Verbindung, um sicherzustellen, dass sie funktioniert.

So sieht eine erfolgreich getestete Verbindung aus:

PIPEDREAM -Workflow -Editor: Testen der Verbindung zu AirtablePIPEDREAM -Workflow -Editor: Testen der Verbindung zu Airtable
PIPEDREAM -Workflow -Editor: Testen der Verbindung zu Airtable

Letztendlich einrichten und konfigurieren Sie den OpenAI -Zugriff auf GPT. Halten Sie Ihren API -Schlüssel griffbereit. Wenn das Sekundäretikett Ihres dritten Blocks nicht „RAG -Antwort erzeugen“ ist, entfernen Sie den Block und ersetzen Sie ihn durch einen neuen OpenAI -Block durch diesen Subtyp.

Stellen Sie zunächst eine OpenAI -Verbindung mit Ihrem API -Schlüssel auf:

Aufbau von OpenAI -VerbindungAufbau von OpenAI -Verbindung
Aufbau von OpenAI -Verbindung

Das Feld „Benutzerfrageber“ sollte als festgelegt werden {{ steps.set off.occasion.physique.check }}und die Wissensbasisaufzeichnungen (Ihr Textual content „Dokumente“ für Lappen von Airtable) muss festgelegt werden {{ steps.list_records.$return_value }}.

Sie können den Relaxation als Commonplace und Check behalten, können jedoch mit diesen Workflows gegen Parsen -Fehler auftreten, um sie für Unterstützung und automatische Korrekturen mit dem AI -Agenten zur String zurückzuspringen. Alternativ können Sie die Folgen direkt kopieren und in das Codefeld der OpenAI -Komponente einfügen, um eine robuste Lösung zu erhalten:

import openai from "@pipedream/openai"

export default defineComponent({
  title: "Generate RAG Response",
  description: "Generate a response utilizing OpenAI based mostly on person query and Airtable information base content material",
  sort: "motion",
  props: {
    openai,
    mannequin: {
      propDefinition: (
        openai,
        "chatCompletionModelId",
      ),
    },
    query: {
      sort: "string",
      label: "Person Query",
      description: "The query from the webhook set off",
      default: "{{ steps.set off.occasion.physique.check }}",
    },
    knowledgeBaseRecords: {
      sort: "any",
      label: "Data Base Data",
      description: "The Airtable data containing the information base content material",
      default: "{{ steps.list_records.$return_value }}",
    },
  },
  async run({ $ }) {
    // Extract person query
    const userQuestion = this.query;
    
    if (!userQuestion) {
      throw new Error("No query supplied from the set off");
    }

    // Course of Airtable data to extract content material
    const data = this.knowledgeBaseRecords;
    let knowledgeBaseContent = "";
    
    if (data && Array.isArray(data)) {
      knowledgeBaseContent = data
        .map(document => {
          // Extract content material from fields.Content material
          const content material = document.fields?.Content material;
          return content material ? content material.trim() : "";
        })
        .filter(content material => content material.size > 0) // Take away empty content material
        .be part of("nn---nn"); // Separate completely different information base entries
    }

    if (!knowledgeBaseContent) {
      throw new Error("No content material present in information base data");
    }

    // Create system immediate with information base context
    const systemPrompt = `You're a useful assistant that solutions questions based mostly on the supplied information base. Use solely the data from the information base under to reply questions. If the data isn't accessible within the information base, please say so.

Data Base:
${knowledgeBaseContent}

Directions:
- Reply based mostly solely on the supplied information base content material
- Be correct and concise
- If the reply isn't within the information base, clearly state that the data isn't accessible
- Cite related elements of the information base when attainable`;

    // Put together messages for OpenAI
    const messages = (
      {
        position: "system",
        content material: systemPrompt,
      },
      {
        position: "person",
        content material: userQuestion,
      },
    );

    // Name OpenAI chat completion
    const response = await this.openai.createChatCompletion({
      $,
      information: {
        mannequin: this.mannequin,
        messages: messages,
        temperature: 0.7,
        max_tokens: 1000,
      },
    });

    const generatedResponse = response.generated_message?.content material;

    if (!generatedResponse) {
      throw new Error("Didn't generate response from OpenAI");
    }

    // Export abstract for person suggestions
    $.export("$abstract", `Generated RAG response for query: "${userQuestion.substring(0, 50)}${userQuestion.size > 50 ? '...' : ''}"`);

    // Return the generated response
    return {
      query: userQuestion,
      response: generatedResponse,
      model_used: this.mannequin,
      knowledge_base_entries: data ? data.size : 0,
      full_openai_response: response,
    };
  },
})

Wenn keine Fehler oder Warnungen angezeigt werden, sollten Sie bereit sein, zu testen und bereitzustellen. Bereiten Sie zuerst bereit und testen Sie dann, indem Sie eine solche Benutzerabfrage auf der Registerkarte „Neu geöffneter Bereitstellungen“ übergeben:

Tests stellten einen Workflow mit einer Aufforderung zur Frage, in welcher Hauptstadt Japans die Hauptstadt istTests stellten einen Workflow mit einer Aufforderung zur Frage, in welcher Hauptstadt Japans die Hauptstadt ist
Checks stellten einen Workflow mit einer Aufforderung zur Frage, in welcher Hauptstadt Japans die Hauptstadt ist

Wenn die Anfrage behandelt wird und alles korrekt ausgeführt wird, scrollen Sie nach unten, um die Antwort des GPT -Modells zu sehen, auf das in der letzten Stufe des Workflows zugegriffen wird:

Reaktion des GPT -ModellsReaktion des GPT -Modells
Reaktion des GPT -Modells

Intestine gemacht! Diese Reaktion basiert auf der Wissensbasis, die wir in Airtable eingebaut haben. Daher haben wir jetzt ein einfaches Prototyp -Lappensystem, das Lufttable- und GPT -Modelle über PipedReam kombiniert.

# Einpacken

Dieser Artikel zeigte, wie man mit wenig oder gar keiner Codierung einen Orchestrierungs -Workflow zum Prototypen eines Lappensystems erstellt, das Airtable -Textdatenbanken als Wissensbasis für das Abrufen und die GPT -Modelle von OpenAI für die Reaktionsgenerierung verwendet. Mit PipedReam können Orchestrierungs -Workflows programmgesteuert, manuell oder von seinem Konversations -AI -Agenten unterstützt werden. Durch die Erfahrungen des Autors haben wir die Vor- und Nachteile jedes Ansatzes prägnant vorgestellt.

Iván Palomares Carrascosa ist ein Führer, Schriftsteller, Sprecher und Berater in KI, maschinellem Lernen, Deep Studying & LLMs. Er trainiert und führt andere darin, KI in der realen Welt zu nutzen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert