Erstellen Sie einen benutzerdefinierten Forschungsagenten mit Langflow, indem Sie watsonx Orchestrate ADK und IBM Cloud verwenden

Angesichts der sich entwickelnden Landschaft von KI-Agenten berichten einige Unternehmen von Bedenken, was die breite Akzeptanz dieser autonomen KI-Agenten angeht.1 Zu den Herausforderungen gehören Governance, Ethik, Zusammenarbeit zwischen Mensch und KI, Bereitstellung und Skalierbarkeit. Der Aufbau vertrauenswürdiger KI-Agenten muss jedoch nicht komplex sein. Mit IBM Watsonx Orchestrate können diese Bedenken an einem Ort gemildert werden. In diesem Tutorial erfahren Sie, wie Sie Langflow und watsonx Orchestrate nutzen, um zuverlässige und skalierbare, unternehmensfähige Agenten zu erstellen.

Was ist Langflow?

Langflow ist ein Python-basiertes Open-Source-Framework zum Aufbau von KI-Agenten und anderen KI-Anwendungen. Langflow wurde ursprünglich auf LangChain, seinem übergeordneten Framework, entwickelt. LangGraph, eine weitere Plattform derselben Familie, wird ebenfalls verwendet, um agentische Systeme mithilfe graphbasierter Architekturen zu bauen. Was Langflow auszeichnet, ist seine benutzerfreundliche Drag-and-Drop-Oberfläche, mit der Anwender Agentenkomponenten verbinden können, um personalisierte Workflows zu gestalten oder mit den vorgefertigten Vorlagen zu beginnen. Alternativ zu diesem Low-Code- oder No-Code-Ansatz können Entwickler mithilfe der Langflow-API benutzerdefinierte Komponenten erstellen und schrittweise Agentenabläufe in bestehenden Anwendungs-Code einbetten. In diesem Langflow-Tutorial erkunden wir, wie man Agenten aufbaut und bereitstellt:

  1. Durch Importieren von agentischen LangFlow-Flows als MCP-Server mithilfe von IBM® watsonx Orchestrate® als Software as a Service (SaaS) zusammen mit IBM Cloud®.
  2. Durch Importieren grundlegender LangFlow-Flows durch lokale Nutzung des IBM watsonx Orchestrate Agent Development Kit (ADK).

Beide Ansätze entsprechen einem Abschnitt dieses Tutorial. Hinweis: Sie können dieses Tutorial auch auf GitHub aufrufen.

Fangen wir an!

Voraussetzungen

Dieses Tutorial erfordert:

  • Installation der neuesten Version von Python.
  • Ein IBM Cloud® Konto, um eine watsonx.ai™ Projekt-ID und API-Schlüssel zu erstellen. Es sind Lite- und kostenlose Pläne verfügbar.
    • Sie können Ihre Projekt-ID in Ihrem Projekt abrufen. Klicken Sie auf die Registerkarte Verwalten. Kopieren Sie dann die Projekt-ID aus dem Abschnitt Details der Seite Allgemein. Sie benötigen diese ID für den ADK-Teil dieses Tutorials.
  • Ein watsonx Orchestrate-Konto (kann ein Testkonto sein). Wenn Sie noch kein Konto haben, klicken Sie hier, um sich für eine kostenlose 30-tägige Testphase anzumelden. In der Dokumentation finden Sie detaillierte Anweisungen, wie Sie einen Testzugang auf IBM Cloud erhalten.
  • Das installierte IBM watsonx Orchestrate ADK. Folgen Sie hier der offiziellen Dokumentation zur Einrichtung und Installation des ADK.
    • Hinweis: Wenn Sie bereits vor der ADK-Version 2.0 die watsonx Orchestrate Developer Edition installiert haben, entfernen Sie vor dem Upgrade zunächst alle Container, indem Sie ein Orchestrate Server Reset ausführen. Die watsonx Orchestrate Developer Edition ist nicht mehr von einer externen Container-Engine abhängig. Wird vor dem Upgrade kein Reset durchgeführt, kann dies zu Mehrfachinstallationen der Anwendung führen, die unnötige Systemressourcen verbrauchen und Portkonflikte verursachen.
  • Die Installation der IBM Cloud CLI. Die Installationsbefehle für MacOS, Linux und Windows finden Sie im Leitfaden zum Einstieg.

Bitte beachten Sie, dass dieses Tutorial ohne diese Anforderungen nicht reproduzierbar ist.

Schritte: IBM Cloud-Ansatz

Schritt 1. Konfigurieren Sie Ihre IBM Cloud-Umgebung

Führen Sie in Ihrem Terminal den folgenden Befehl aus. Sie werden aufgefordert, sich mit Ihrer IBMid bei Ihrem IBM Cloud-Konto anzumelden. Wenn Sie mehrere Konten haben, müssen Sie eines auswählen.

ibmcloud login

Hinweis: Zugangsdaten abgelehnt? Möglicherweise sind Sie ein föderierter Benutzer. Melden Sie sich mit dem Flag --sso erneut an, um eine Firmen- oder Enterprise-Single-Sign-On-ID zu verwenden. Weitere Informationen zur Protokollierung mit föderierten IDs finden Sie in der Dokumentation. Kurz gesagt: Wenn Sie einen Prompt erhalten, lassen Sie die URL in Ihrem Standardbrowser öffnen und fügen Sie den einmalig angezeigten Code in Ihr Terminal ein.

Sie erkennen, dass Ihre Anmeldung erfolgreich war, wenn Sie eine ähnliche Ausgabe sehen.

Ausgabe:

API endpoint: https://cloud.ibm.com
Region: us-south
User: your.email@email.com
Account: itz-watsonx-event-001 (f1zzz9a2e11b432ea5316227cb901888) <-> 3021952
Resource group: No resource group targeted, use ‘ibmcloud target -g RESOURCE_GROUP’

Hinweis: Wenn Sie feststellen, dass die Region nicht korrekt ist, führen Sie ibmcloud target -r aus, gefolgt von der richtigen Region. Zum Beispiel, wenn Ihr regionales Service-Endgerät us-east ist , führen Sie ibmcloud target -r us-east aus.

Um Ihre Cloud-Ressourcen anzuzeigen, führen Sie ibmcloud resource groups aus. Dieser Befehl sollte Ihre Ressourcengruppen abrufen und eine ähnliche Ausgabe erzeugen (die Namen und IDs Ihrer Ressourcen werden sich unterscheiden).

Ausgabe:

Retrieving all resource groups under account f1zzz9a2e11b432ea5316227cb901888 as your.email@email.com...
OK
Name ID Default Group State
watsonx 93018fa55c342de104afb8jje20c222c false ACTIVE
itz-wxo-69305f32086a49ee3736ff 48bbeb07ec5a4994b2fd39beb6027090 false ACTIVE

Als Nächstes zielen Sie auf die spezifische Ressource, indem Sie ibmcloud target -g RESOURCE_GROUP ausführen. In diesem Beispiel wäre der Befehl ibmcloud target -g itz-wxo-69305f32086a49ee3736ff .

Das Ergebnis sollte ähnlich aussehen.

Ausgabe:

Targeted resource group itz-wxo-69305f32086a49ee3736ff
API endpoint: https://cloud.ibm.com
Region: us-south
User: your.email@email.com
Account: itz-watsonx-event-001 (f1zzz9a2e11b432ea5316227cb901888) <-> 3021952
Resource group: itz-wxo-69305f32086a49ee3736ff

Schritt 2. Installieren Sie die IBM Cloud Code Engine CLI

Mit IBM Cloud® Code Engine können Sie nahezu jede containerisierte Workload ausführen, ohne Server oder Infrastruktur verwalten zu müssen. Die Plattform unterstützt alles von Microservices und Web-Apps bis hin zu Batch-Jobs und ereignisgesteuerten Funktionen. Sie bietet außerdem eine integrierte Funktion zur Erstellung von Bildern aus Ihrem Quellcode. Da alle Workloads dieselbe Kubernetes-Umgebung teilen, integrieren sie sich natürlich. Code Engine ist so konzipiert, dass Ihnen die Infrastruktur nicht im Weg steht, sodass Sie sich voll und ganz auf die Entwicklung von Anwendungen konzentrieren können. Die Installation der Code Engine CLI ist unser nächster Schritt. Führen Sie den folgenden Befehl in Ihrem Terminal aus.

ibmcloud plugin install code-engine -f

Ausgabe:

Looking up ‘code-engine’ from repository ‘IBM Cloud’...
Plug-in ‘code-engine[ce] 1.57.0’ found in repository ‘IBM Cloud’
Attempting to download the binary file...
74.08 MiB / 74.08 MiB [============================================] 100.00% 1s
77680050 bytes downloaded
Installing binary...
OK
Plug-in ‘code-engine 1.57.0’ was successfully installed into /your/path/to/code-engine. Use ‘ibmcloud plugin show code-engine’ to show its details.

Großartig! Jetzt wählen wir ein Projekt in Code Engine aus. Zeigen Sie zunächst die Liste der Projekte an, indem Sie ibmcloud ce project list ausführen.

Ausgabe:

Getting projects...
OK

Name ID Status Enabled Selected Tags Region Resource Group Age
ce-itz-wxo-69305f32086a49ee3736ff 8991a30c-944f-422d-9e00-00789043e90e active true false us-south itz-wxo-69305f32086a49ee3736ff 7m32s

Ein Code Engine-Projekt gruppiert Entitäten wie Anwendungen, Jobs und Builds. Es dient als zentrale Einheit für die Verwaltung von Ressourcen und die Steuerung des Zugangs zu diesen Einheiten. Wenn Sie keine aktiven Code Engine-Projekte haben, führen Sie ibmcloud ce project create --name PROJECT_NAME aus und ersetzen Sie CE_PROJECT_NAME mit einem beliebigen Projektnamen Ihrer Wahl (zum Beispiel „Code Engine-Projekt“).

Um das spezifische Projekt gezielt anzusprechen, führen Sie ibmcloud ce project select --name CE_PROJECT_NAME aus. In diesem Beispiel wäre der Befehl ibmcloud ce project select --name ce-itz-wxo-69305f32086a49ee3736ff .

Ausgabe:

Selecting project ‘ce-itz-wxo-69305f32086a49ee3736ff’...
OK

Hinweis: Sollte hier ein Fehler auftreten, stellen Sie sicher, dass Sie mit ibmcloud target -c ACCOUNT_ID -r REGION_NAME -g RESOURCE_GROUP_NAME die richtige Umgebung ausgewählt haben.

Schritt 3. Richten Sie Langflow mit der Code Engine CLI ein

Um Langflow während der Verwendung der Code Engine CLI zu nutzen, führen Sie folgenden Befehl aus.

ibmcloud ce app create \
--name langflow \
--image langflowai/langflow:latest \
--port 7860

Dieser Befehl kann mehrere Minuten lang ausgeführt werden. Greifen Sie nicht ein und erlauben Sie die Ausführung.

Ausgabe:

Creating application ‘langflow’...
Configuration ‘langflow’ is waiting for a Revision to become ready.
Ingress has not yet been reconciled.
Waiting for load balancer to be ready.
Run ‘ibmcloud ce application get -n langflow’ to check the application status.
OK

https://langflow.23h82g3y09cp.us-south.codeengine.appdomain.cloud

Schritt 4. Verbinden Sie wxO und aktivieren Sie Langflow

Während der Langflow-Befehl „Setup“ ausgeführt wird, können wir eine Umgebung hinzufügen, um eine Schnittstelle zu unserem lokalen Computer und unserer SaaS-gehosteten Lösung herzustellen.

Aktivieren Sie in einem neuen Terminalfenster eine virtuelle Umgebung in Ihrem ausgewählten Verzeichnis. Sie können my-env zu einem beliebigen Umgebungsname Ihrer Wahl ändern.

python -m venv my-env

Aktivieren Sie die virtuelle Umgebung mit folgendem Befehl und ersetzen Sie my-env durch Ihren Umgebungsnamen, falls Sie einen anderen verwendet haben:

MacOS/Linux:

source my-env/bin/activate

Windows:

my-env\Scripts\activate

Nun greifen Sie in Ihrem bevorzugten Browser auf Ihre IBM Cloud Ressourcenliste zu, erweitern das Dropdown-Menü „KI/maschinelles Lernen“ und wählen die aktive wxO-Ressource aus. Ihr Name sollte zum Beispiel „watson Orchestrate-ITZ“ ähneln, dann kopieren Sie die URL, die Sie im Fenster Anmeldeinformationen finden. Lassen Sie diese Seite in Ihrem Browser geöffnet, da Sie sie in Kürze benötigen werden. Ersetzen Sie im folgenden Befehl YOUR_WXO_RESOURCE_URL mit der abgerufenen URL und führen Sie den Befehl in der aktivierten virtuellen Umgebung in Ihrem Terminal aus.

orchestrate env add \
-n langflow \
-u YOUR_WXO_RESOURCE_URL \
--type ibm_iam \
--activate

Ausgabe:

[INFO] - Environment ‘langflow’ has been created
Please enter WXO API key:

Wenn Sie nach dem wxO-API-Schlüssel gefragt werden, kehren Sie zur Ressourcenseite zurück, die in Ihrem Browser geöffnet ist. Geben Sie nicht den API-Schlüssel ein, der sich über der von Ihnen kopierten URL befindet. Klicken Sie stattdessen auf die Schaltfläche watsonx Orchestrate starten. Klicken Sie anschließend auf das kreisförmige Symbol mit Ihren Initialen in der oberen rechten Ecke des Bildschirms und öffnen Sie die Einstellungen. Wählen Sie den Tab API-Details und klicken Sie auf die Schaltfläche API-Schlüssel generieren. Geben Sie anschließend einen beliebigen Namen und eine Beschreibung für Ihren API-Schlüssel ein und wählen Sie im Abschnitt „Maßnahmen bei Bekanntwerden“ die Option „Den bekannt gewordenen Schlüssel deaktivieren“ aus. Am wichtigsten ist es, im Abschnitt „Sitzungsverwaltung“ die Option „Ja“ auszuwählen, um die Sitzungsverwaltung für CLI-Anmeldungen zu aktivieren, und anschließend auf „Erstellen“ zu klicken. Ihr API-Schlüssel sollte erscheinen. Bitte kopieren Sie den Schlüssel und fügen Sie ihn in das Terminal ein, das Sie vorhin benutzt haben, um die Aufforderung zur Eingabe des wxO-API-Schlüssels zu erfüllen.

Ausgabe:

[INFO] - Environment ‘langflow’ is now active

Großartig! Langflow ist jetzt aktiv.

Schritt 5. Konfigurieren Sie Ihre Code Engine-Ressourcen

Um eine stabile Code Engine-Umgebung zu schaffen, die unsere Langflow-Anwendung nicht nach einer festgelegten Zeitspanne löscht, öffnen Sie Ihren Browser erneut. Greifen Sie auf Ihre IBM Cloud Containerübersicht zu. Ihr Code Engine-Projekt sollte so angezeigt werden, wie es zuletzt erstellt wurde. Öffnen Sie das Projekt. Öffnen Sie als Nächstes Ihre Langflow-Anwendung. Öffnen Sie auf der Registerkarte Konfiguration die Komponente Ressourcen und Skalierung. Die einzige Änderung, die wir hier vornehmen müssen, ist die Erhöhung der Mindestanzahl von Instanzen von 0 auf 1. Klicken Sie abschließend auf die Schaltfläche Bereitstellen, um diese Konfigurationsrevision anzuwenden.

Sobald Sie diesen Schritt abgeschlossen haben, klicken Sie auf die Schaltfläche Anwendung testen und anschließend auf den Hyperlink Anwendungs-URL. Diese Aktion öffnet unsere IBM-Cloud-Instanz von Langflow.

Anpassen der Code Engine-Konfigurationen

Schritt 6. Erstellen Sie Ihren Ablauf

Es gibt viele Möglichkeiten, einen Langflow-Ablauf zu erstellen. Entweder Sie verwenden vorgefertigte Vorlagen oder Sie erstellen Ihre eigene von Grund auf. In diesem Tutorial werden wir das Letztere untersuchen. Um zu starten, klicken Sie auf + Leerer Ablauf. Dieses Beispiel zeigt einen Ablauf, den Sie selbst erstellen können. Sie können aber auch gerne die Vielzahl der in Langflow integrierten Komponenten und Integrationen erkunden.

  1. Fügen Sie die folgenden integrierten Komponentenknoten aus dem Menü hinzu:
  • Chat-Eingabe – Empfängt die Nutzereingaben aus dem Chat.

  • Chat-Ausgabe – Gibt die Ablaufsausgabe an den Nutzer im Chat zurück.

  • Agent – Verwendet eine Integration eines Large Language Models (LLM), um auf Nutzereingaben zu reagieren, und kann mit mehreren Tools verbunden werden.2

  • MCP-Tools – Verbindet sich mit einem Model Context Protocol (MCP)-Server und stellt die Funktionen des MCP-Servers Agenten zur Verfügung, um auf Eingaben zu reagieren.2

  • IBM watsonx.ai – Bietet Zugriff auf IBM watsonx.ai® Modelle zur Textgenerierung.3

  • Nachrichtensuche – Ruft Inhalte von Google News ab und erstellt einen strukturierten DataFrame, der Titel, Link, Veröffentlichungsdatum und Zusammenfassung jedes Artikels enthält.4

  • arXiv – Sucht arXiv.org nach relevanten Artikeln und Ausgaben ab und liefert die Ergebnisse im DataFrame-Format.5

    Wählen Sie zum Schluss am unteren Rand des Menüs + Neue benutzerdefinierte Komponente aus.

    Um die Visualisierung zu vereinfachen, ordnen Sie Ihren Ablauf wie folgt an.

Screenshot von Final Langflow

2. Verbinden Sie die Chat-Eingabe-Komponente mit dem Feld „Eingabe“ der Agenten-Komponente.

3. Verbinden Sie die Chat-Ausgabe-Komponente mit dem Feld „Antwort“ der Agenten-Komponente.

4. Stellen Sie in der Agenten-Komponente den „Modell-Anbieter“ aus dem Drop-down-Menü auf „Benutzerdefiniert“ ein. Je nach verwendeter Langflow-Version wird Ihnen möglicherweise stattdessen „Andere Modelle verbinden“ angezeigt. Beide Optionen sind akzeptabel.

5. In der IBM watsonx.ai Komponente wählen Sie das passende watsonx.ai API-Endgerät für Ihre API-Zugangsdaten aus. Fügen Sie anschließend Ihre watsonx.ai-Projekt-ID und Ihren API-Schlüssel in die entsprechenden Felder ein. Wählen Sie anschließend den gewünschten Namen des großen Sprachmodells aus. In diesem Tutorial können wir openai/gpt-oss-120b auswählen. Stellen Sie sicher, dass die Komponente auf „Sprachmodell“ und nicht auf „Modellantwort“ eingestellt ist. Diese Einstellung ist wichtig, weil wir dieses Modell als Sprachmodell für unseren Agenten verwenden wollen. Daher können wir jetzt die IBM-watsonx.aiKomponente mit dem Feld „Sprachmodell“ der Agenten-Komponente verbinden.

  • Hinweis: Wenn Sie globale Variablen verwenden möchten, anstatt Ihre API-Zugangsdaten direkt einzufügen, klicken Sie oben rechts auf Ihr Profilsymbol und wählen Sie Einstellungen. Fügen Sie im Abschnitt Globale Variablen Ihre WATSONX_PROJECT_ID hinzu und WATSONX_APIKEY für Ihre Verbindung mit watsonx.ai, die Sie als Voraussetzung für dieses Tutorial generiert haben. Sobald Sie zu Ihrem Flow zurückkehren, sollten Sie ein Globussymbol in den Textfeldern „watsonx.ai Projekt-ID“ und „API-Schlüssel“ sehen. Klicken Sie auf das Symbol und wählen Sie den passenden Schlüssel aus dem Dropdown-Menü.

6. Aktivieren Sie den Tools-Modus über den Schalter für arXiv, Nachrichtensuche und Benutzerdefinierte Komponente. Sie werden diesen Schalter im Kopfmenü sehen, wenn Sie auf jede dieser Komponenten irgendwo klicken. Wenn dieser Modus aktiviert ist, können Sie diese Komponenten nun mit dem Feld „Tools“ der Agenten-Komponente verbinden. Die Komponenten arXiv und Nachrichtensuche sind konfiguriert und einsatzbereit. Wir können uns jetzt auf die Konfiguration der anderen Komponenten konzentrieren.

7. Wählen Sie im Kopfmenü der benutzerdefinierten Komponente <> Code aus. Hier können wir das Verhalten der Komponente anpassen, indem wir den Python-Code bearbeiten, der sie definiert.6 Als einfaches Beispiel können wir ein Tool erstellen, das das heutige Datum zurückgibt – eine Information, die einem LLM sonst nicht zugänglich wäre. Ersetzen Sie den Standardcode durch Folgendes:

from langflow.custom.custom_component.component import Component
from langflow.io import MessageTextInput, Output
from langflow.schema.data import Data
from datetime import date

class CustomComponent(Component):
    display_name = “Date”
    description = “Returns today’s date.”
    documentation: str = “https://docs.langflow.org/components-custom-components”
    icon = “calendar-check”
    name = “CustomDateComponent”

    inputs = [] # No input needed

    outputs = [
        Output(display_name=”Today’s Date”, name=”output”, method=”build_output”),
    ]

def build_output(self) -> Data:
    today = date.today()
    data = Data(value=today)
    self.status = data
    return data

Speichern Sie nun Ihre Änderungen. Die Komponente sollte nun ihren neuen Namen, ihre neue Beschreibung und ihr neues Symbol anzeigen.

8. Die Anzahl der Tools, die Sie Ihrem Agenten zur Verfügung stellen, liegt in Ihrer Hand. Achten Sie jedoch darauf, Ihren Agenten nicht mit zu vielen Tools zu überfordern, da dies die Leistung und Genauigkeit beeinträchtigen könnte. Das letzte Tool, das wir aktivieren werden, ist ein MCP-Server. Sie können sich mit einem beliebigen Server Ihrer Wahl verbinden. In diesem Tutorial können wir eine Verbindung zum Alpha Vantage MCP-Server herstellen.7 Der offizielle Alpha Vantage MCP-Server erleichtert es LLMs und Agenten, mithilfe des Model Context Protocol Echtzeit- und historische Börsendaten abzurufen. Um eine Verbindung zu diesem Server herzustellen, öffnen Sie das Dropdown-Menü „MCP-Server“ in Ihrer MCP Tools-Komponente und klicken Sie auf + MCP-Server hinzufügen. Geben Sie auf der Registerkarte STDIO einen beliebigen Namen für Ihren Server ein, zum Beispiel „av_mcp“, und fügen Sie den folgenden Befehl ein: uvx av-mcp YOUR_API_KEY . Um einen kostenlosen Alpha Vantage API-Schlüssel zu generieren, besuchen Sie die offizielle Alpha Vantage-Website und fügen Sie ihn in den Befehl ein, wobei Sie den YOUR_API_KEY Platzhalter ersetzen. Sobald Sie den Server hinzugefügt haben, aktivieren Sie den Umschalter Tools-Modus im Kopfmenü des Komponenten-Knotens. Sie werden feststellen, dass eine umfangreiche Liste von Tools unter „Aktionen“ angezeigt wird. Dieses Ergebnis bedeutet, dass Ihre Verbindung zum MCP-Server erfolgreich ist. Sie können diese letzte Komponente jetzt mit dem Feld „Tools“ der Agenten-Komponente verbinden.

Hinzufügen des Alpha Vantage MCP-Servers

Gute Arbeit! Ihr Workflow ist abgeschlossen und sollte dem folgenden Screenshot ähneln.

Screenshot von Final Langflow

Um zu überprüfen, ob die Recherchepipeline wie erwartet funktioniert, öffnen Sie den Playground und chatten Sie mit Ihrem neu erstellten Agenten! Stellen Sie dem Agenten Fragen, die den Aufruf eines der verbundenen Tools erfordern. Beispiele für Eingabewerte sind:

  • Einfach:
    • „Welches Datum haben wir heute?“
    • „Finde 5 Forschungsarbeiten zum Thema Quantencomputing.“
  • Moderat:
    • „Analysiere den Aktienkurs von IBM in den letzten 30 Tagen.“
  • Komplex:
    • „Gibt es aktuelle Nachrichten, die darauf hindeuten, dass die IBM-Aktie im Aufwärts- oder Abwärtstrend ist?“

Sie sollten sehen, wie der Agent die verfügbaren Tools aufruft und die richtige Ausgabe erzeugt. Wenn Sie in dieser Phase Probleme haben, kehren Sie bitte zu Ihrem Ablauf zurück und stellen Sie sicher, dass Ihre Anmeldedaten korrekt sind und dass Sie alle Schritte befolgt haben.

Schritt 7. Importieren Sie Ihren Ablauf als MCP-Server in wxO

Eine Möglichkeit, diesen Ablauf mit watsonX Orchestrate zu verbinden, besteht darin, ihn als MCP-Server zu verwenden. Klicken Sie in der oberen rechten Ecke auf das Drop-down-Menü Teilen und wählen Sie „MCP-Server“ aus. Klicken Sie auf die Registerkarte „JSON“. Sie sollten einen ähnlichen Code wie in diesem Beispiel sehen:

{
    “mcpServers”: {
    “lf-starter_project”: {
    “command”: “uvx”,
    “args”: [
        “mcp-proxy”,
        “https://langflow.23h82g3y09cp.us-south.codeengine.appdomain.cloud/api/v1/mcp/project/b797fbc9-cd21-46e9-bc23-8fa813f94810/sse”
            ]
        }    
    }    
}

Kopieren Sie die URL in Ihr JSON-Snippet. Beachten Sie, dass es sich vom vorherigen Beispiel unterscheiden wird. Kehren Sie zu Ihrem Terminal zurück und fügen Sie Ihre MCP-Server-URL anstelle des Platzhalters MCP_SERVER_URL ein. Wenn wir diesen folgenden Befehl in der watsonx Orchestrate CLI ausführen, können wir diesen MCP-Server als Toolkit auf die Plattform importieren.

orchestrate toolkits add \
--kind mcp \
--name langflow_mcp \
--description “LangFlow MCP Server” \
--command “uvx mcp-proxy MCP_SERVER_URL” \
--tools “*”

Ausgabe:

[INFO] - Successfully imported tool kit langflow_mcp

Schritt 8. Erstellen Sie einen Agenten und testen Sie die Tool-Aufrufe

Gehen Sie in Ihrem Browser zu watsonx Orchestrate und erstellen Sie einen neuen Agenten von Grund auf. Geben Sie einen beliebigen Namen und eine Beschreibung für Ihren Agenten ein. Öffnen Sie nach der Erstellung die Registerkarte Toolset und klicken Sie auf die Schaltfläche Tool hinzufügen. Von dort aus wählen Sie, Tools von einem MCP-Server zu importieren. Wählen Sie aus der Drop-down-Liste MCP-Server auswählen den Server aus, den wir importiert haben, aktivieren Sie die Tools, indem Sie die Aktivierung umschalten und schließen Sie das Fenster. Klicken Sie anschließend auf Bereitstellen. Nach der Bereitstellung können Sie mit Ihrem Agenten im Vorschau-Chatfenster oder über die Chat-Oberfläche im reduzierten Seitenmenü chatten.

Stellen wir unserem Agenten eine Frage! Zum Beispiel: „Finden Sie 5 Forschungsarbeiten zum Thema Quantencomputing.“

Forschungsbericht Abfrage Ausgabe

Großartig! Der agentische Chatbot verhält sich wie erwartet, indem er nicht nur die richtige Antwort ausgibt, sondern auch das richtige arXiv-Tool aufruft. Experimentieren Sie ruhig mit verschiedenen Prompts.

Schritte: ADK-Ansatz (lokal)

Bei diesem Ansatz ist Code Engine nicht erforderlich. Bei diesem Ansatz wird eine lokale Entwicklungsumgebung mithilfe des watsonx Orchestrate Developer Edition SDK eingerichtet, einer schlanken Version von watsonx Orchestrate, die als lokaler Entwicklungsserver fungiert.

Voraussetzungen

  • Maschinenspezifikationen:
    • 16 GB RAM
    • 8 Kerne
    • 25 GB Festplattenspeicher

Schritt 1. Installieren Sie das wxO Developer Edition SDK

Bevor Sie mit der lokalen Entwicklung mit Langflow beginnen, installieren Sie die Developer Edition des wxO ADK. Beachten Sie, dass diese Developer Edition für den ersten Ansatz in diesem Tutorial nicht erforderlich war.

  1. Richten Sie in Ihrer bevorzugten IDE Ihre Umgebung ein. Erstellen Sie einen Ordner mit dem Namen wxo-langflow-agent, um alle Agenten und Tools zu speichern. Dieses Projekt finden Sie auf Github als Referenz. Die Ordnerstruktur sollte wie folgt aussehen:

    wxo-langflow-agent/
    ├── .env
    ├── tools/
    └── agents/
    

2. Öffnen Sie das Terminal und aktivieren Sie eine virtuelle Umgebung. Sie können my-env zu einem beliebigen Umgebungsname Ihrer Wahl ändern.

python -m venv my-env

Aktivieren Sie die virtuelle Umgebung mit folgendem Befehl und ersetzen Sie my-env durch Ihren Umgebungsnamen, falls Sie einen anderen verwendet haben:

MacOS/Linux:

source my-env/bin/activate

Windows:

my-env\Scripts\activate

3. Legen Sie in der Datei .env die folgenden Umgebungsvariablen fest. Weitere Informationen finden Sie in der Anleitung zur Einrichtung.

WO_DEVELOPER_EDITION_SOURCE=orchestrate
WO_INSTANCE=<service_instance_url>
WO_API_KEY=<wxo_api_key>

4. Führen Sie den folgenden Befehl aus, um den watsonx Orchestrate Developer Edition Server zu installieren. Langflow muss nicht installiert werden, da es bereits in der ADK Developer Edition enthalten ist. Das Befehlsflag --with-langflow aktiviert die Langflow-Unterstützung, indem es die erforderlichen Container-Images abruft und die anfängliche Konfiguration durchführt, um Langflow lokal zugänglich zu machen.

orchestrate server start -e <path-.env-file> --with-langflow

Dieser Befehl kann mehrere Minuten ausgeführt werden, wenn Sie zum ersten Mal einen Server aktivieren.

Fehlerbehebung: Wenn Sie die watsonx Orchestrate Developer Edition vor dem ADK Version 2.0 installiert haben und Fehler bei Containern auftreten, führen Sie aus:

orchestrate server reset
orchestrate server purge
pip install --upgrade ibm-watsonx-orchestrate

Das Ende Ihrer Ausgabe sollte dem folgenden Beispiel ähneln.

Ausgabe:

[INFO] - Migration ran successfully.
[INFO] - Waiting for orchestrate server to be fully initialized and ready...
[INFO] - Orchestrate services initialized successfully
[INFO] - no local tenant found. A default tenant is created
[INFO] - You can run `orchestrate env activate local` to set your environment or `orchestrate chat start` to start the UI service and begin chatting.
[INFO] - Langflow has been enabled, the Langflow UI is available at http://localhost:7861

Schritt 2. Aktivieren Sie lokale wxO-Chat-Benutzeroberfläche

  1. Das watsonx Orchestrate ADK definiert Umgebungen als die watsonx Orchestrate-Instanzen, mit denen Sie eine Verbindung herstellen können. Ihre Umgebung ist eine Developer Edition-Instanz, die auf Ihrem Laptop ausgeführt wird. Mit dem Befehl orchestrate env list können Sie alle Umgebungen auflisten, die Ihrer CLI derzeit zur Verfügung stehen. Standardmäßig ist eine lokale Version vorhanden. Sie können den folgenden Befehl ausführen, um die lokale Umgebung zu aktivieren.

    orchestrate env activate local
    

    Ausgabe:

    [INFO] – Lokaler Tenant gefunden
    [INFO] – Umgebung „lokal“ ist jetzt aktiv
    
  2. Führen Sie anschließend diesen Befehl aus, um die Chat-Benutzeroberfläche in Ihrem Standardbrowser zu starten.

    orchestrate chat start
    

    Ausgabe:

    [INFO] – Der Chat UI Service wurde erfolgreich gestartet.
    [INFO]   Warten auf die Initialisierung der Benutzeroberfläche-Komponente...
     [INFO] – Chat-Oberfläche wird unter http://localhost:3000/chat-lite geöffnet.
    

Schritt 3. Erstellen Sie einen Langflow-Ablauf

Der Langflow-Editor ist über die watsonx Orchestrate Developer Edition auf Port 7861 verfügbar, wie aus der vorherigen Ausgabe hervorgeht.

  1. Navigieren Sie in Ihrem Webbrowser zu http://localhost:7861.
  2. Bauen Sie Ihren Ablauf auf. Wir können den im ersten Teil dieses Tutorials erstellten Ablauf wiederverwenden oder Sie können Ihren eigenen erstellen. Vielleicht finden Sie es später in diesem Tutorial hilfreich, Ihrem Ablauf einen benutzerdefinierten Namen und eine Beschreibung anstelle der Standardnamen zu geben. Sie können dies tun, indem Sie mit der Maus über den Ablaufsnamen oben auf Ihrem Bildschirm fahren und auf das Bleistiftsymbol klicken.
  • Beispiel-Ablaufname: Forschungsagent
  • Beispielhafte Ablaufbeschreibung: Zugriff auf die Nachrichtensuche, arXiv, das heutige Datum und die Alpha Vantage API.

Schritt 4. Importiere den Flow in wxO

Wir können zwei Optionen für den Import von Langflow-Abläufen auf unserem lokalen watsonx Orchestrate-Server erkunden:

a) Den Ablauf als lokalen MCP-Server importieren.

b) Den Ablauf als JSON importieren.

Option 1: Importieren als lokaler MCP-Server

Dieser Schritt ähnelt Schritt 7 aus der ersten Hälfte dieses Tutorial, allerdings mit einigen kleineren Änderungen. 

  1. Klicken Sie in der oberen rechten Ecke Ihres Langflow auf das Dropdown-Menü Teilen und wählen Sie „MCP-Server“ aus. Klicken Sie auf die Registerkarte „JSON“. Sie sollten einen Code sehen, der dem folgenden Beispiel ähnelt:

    {
        "mcpServers": {
            "lf-starter_project": {
            "command": "uvx",
            "args": [
                "mcp-proxy",
                "http://localhost:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse"
                ]
            }
        }
    }
    
  2. Kopieren Sie die URL in Ihr JSON-Snippet. Beachten Sie, dass es sich vom vorherigen Beispiel unterscheiden wird. Kehren Sie zu Ihrem Terminal zurück und fügen Sie den folgenden Befehl ein, indem Sie Ihre URL anstelle des folgenden Beispiels verwenden. Im Gegensatz zu dem Befehl, den wir bei der Verwendung von IBM Cloud ausgeführt haben, müssen Sie hier localhost durch host.docker.internal ersetzen. Hier ein Beispiel:

    orchestrate toolkits add \
        --kind mcp \
        --name langflow_research_mcp \
        --description "LangFlow MCP Server" \
        --command "uvx mcp-proxy http://host.docker.internal:7861/api/v1/mcp/project/41c9434f-67bf-439e-8dac-b7bb09b1d1ca/sse" \ --tools "*"
    

    Ausgabe:

    [INFO] – Erfolgreich importiertes Toolkit langflow_research_mcp
    
  3. Klicken Sie in der lokalen Instanz von watsonx Orchestrate, die in Ihrem Browser ausgeführt wird, auf „Neuen Agenten erstellen“ und geben Sie einen Namen und eine Beschreibung für Ihren neuen Agenten ein. Klicken Sie dann auf die Schaltfläche Erstellen .

Screenshot von watson Orchestrate mit „Agent lokal erstellen“

4.    In der Registerkarte Toolset klicken Sie auf die Schaltfläche Tool hinzufügen . Wählen Sie „lokale Instanz“, um unseren bereits importierten MCP-Server hinzuzufügen, markieren Sie das Kästchen für den importierten MCP-Server und klicken Sie auf Zum Agenten hinzufügen.

Screenshot, der zeigt, wie Sie einen MCP-Server als Tool hinzufügen können

5. Fangen Sie an zu chatten!

Agentenchat mit MCP-Server als Tool

Option 2: Importieren als JSON

Alternativ zum Importieren von Abläufen als MCP-Server können wir das ADK verwenden, um Abläufe als exportierte JSON-Dateien zu importieren.

1. Dieser Ansatz funktioniert am besten für einfache Abläufe. Zur Veranschaulichung betrachten wir folgenden Ablauf:

arXiv-Tool in Langflow

Exportieren Sie den Ablauf nach JSON, indem Sie auf die Schaltfläche Teilen klicken und Exportieren auswählen. Geben Sie einen beliebigen Namen und eine Beschreibung für das Tool/den Ablauf ein. Der Toolname darf nur alphanumerische Zeichen und Unterstriche enthalten und darf nicht mit einer Zahl oder einem Unterstrich beginnen.

2. Fügen Sie die neu exportierte JSON-Datei in den Ordner tools ein. 

3. Führen Sie den folgenden Befehl aus, um Ihren Ablauf in watsonx Orchestrate zu importieren.

orchestrate tools import -k langflow -f tools/arxiv.json

4. Nach dem Import des Langflow-Flows als Tool besteht der nächste Schritt darin, ihn mit einem Agentensystem zu verbinden. Sie könnten diesen Schritt ausführen, indem Sie einen neuen Agenten in der watsonx Orchestrate-Benutzeroberfläche erstellen oder indem Sie die folgende Agentendefinition in eine neue arxiv_agent.yml Datei in Ihrem agents Ordner kopieren.

kind: native
name: arxiv_agent
display_name: ArXiv Agent
description: Access to arXiv tool.
context_access_enabled: true
context_variables: []
llm: watsonx/ibm/granite-4-h-small
style: default
instructions: ‘’
guidelines: []
collaborators: []
tools:
- arxiv
knowledge_base: []
spec_version: v1

Importieren Sie nun den einfachen Agenten, indem Sie Folgendes ausführen:

orchestrate agents import -f agents/arxiv_agent.yml

5. Aktualisieren Sie den Browser der lokal ausgeführten watsonx Orchestrate Chat-Benutzeroberfläche, um unsere Änderungen zu sehen. Wählen Sie im Dropdown-Menü Agenten den „ArXiv-Agenten“ aus und stellen Sie Fragen, die den Einsatz des arXiv-Tools erfordern!

Beispielhafter Prompt: „Finde 5 Forschungsarbeiten zum Thema Quantencomputing.“

Ausgabe:

Chatten Sie mit dem lokalen arXiv-Agenten

Großartig! Der Agent stellte fest, dass das arxiv  Tool für diese Benutzerabfrage aufgerufen werden musste. Die Ausgabe des Tools wird im reduzierten Argumentationsablauf und im Chatfenster als Antwort angezeigt.

Zusammenfassung

Dieses Tutorial hat Sie mit den notwendigen Fähigkeiten ausgestattet, um Langflow und watsonx Orchestrate für den Aufbau robuster, skalierbarer und unternehmensfähiger Agenten zu nutzen. Sie haben gelernt, wie Sie agentische LangFlow-Abläufe als MCP-Server importieren, indem Sie watsonx Orchestrate als Software as a Service (SaaS) zusammen mit IBM Cloud verwenden. Außerdem sind Sie nun damit vertraut, wie Sie grundlegende LangFlow-Abläufe importieren, wenn Sie das IBM watsonx Orchestrate Agent Development Kit (ADK) lokal verwenden. Indem Sie den Schritt-für-Schritt-Anleitungen folgen, haben Sie gelernt, wie Sie Agenten entwerfen, entwickeln und bereitstellen können, die benutzerdefinierte und vorgefertigte Tools aufrufen, um Benutzeranfragen zu lösen. Mit der intuitiven visuellen Benutzeroberfläche von Langflow haben Sie komplexe Workflows erstellt, und watsonx Orchestrate hat Ihnen die Möglichkeit gegeben, diese Agenten effizient zu verwalten und zu skalieren. Als nächste Schritte sollten Sie das in diesem Tutorial erworbene Wissen in einem realen Anwendungsfall anwenden. Wählen Sie ein bestimmtes Geschäftsproblem oder einen Prozess innerhalb Ihres Unternehmens aus, der von einer Automatisierung profitieren könnte, und entwerfen Sie eine auf Langflow und watsonx Orchestrate basierende Lösung, um dieses Problem anzugehen. Diese praktische Erfahrung wird Ihr Verständnis festigen und Ihnen helfen, Bereiche für weitere Verbesserungen oder Erkundungen zu identifizieren.

Sollten Sie auf Probleme stoßen oder Fragen haben, schauen Sie sich die Dokumentation an. Die häufigsten Probleme werden im Fehlerbehebungshandbuch behandelt. Sie können auch GitHub-Probleme prüfen, um zu sehen, ob andere ähnliche Probleme hatten.

Autor

Anna Gutowska

AI Engineer, Developer Advocate

IBM

Weiterführende Lösungen
Entwicklung von IBM KI-Agenten 

Ermöglichen Sie Entwicklern die Erstellung, Bereitstellung und Überwachung von KI-Agenten mit dem IBM watsonx.ai Studio.

watsonx.ai erkunden
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Ganz gleich, ob Sie vorgefertigte Apps und Skills anpassen oder mithilfe eines KI-Studios eigene Agentenservices erstellen und bereitstellen möchten, die IBM watsonx-Plattform bietet Ihnen alles, was Sie brauchen.

  1. Entdecken Sie watsonx Orchestrate
  2. watsonx.ai erkunden
Fußnoten

1 Satyadhar Joshi. „Review of Autonomous Systems and Collaborative AI Agent Frameworks.“ International Journal of Science and Research Archive, Bd. 14, Nr. 2, 28. Feb. 2025, S. 961–972, https://ijsra.net/content/review-autonomous-systems-and-collaborative-ai-agent-frameworks.

2 “Agents | Langflow Documentation.” Langflow.org, 2025, docs.langflow.org/components-agents.

3 “IBM | Langflow Documentation.” Langflow.org, 2025, docs.langflow.org/bundles-ibm.

4 “Data | Langflow Documentation.” Langflow.org, 2025, docs.langflow.org/components-data.

5 “ArXiv | Langflow Documentation.” Langflow.org, 2025, docs.langflow.org/bundles-arxiv.

6 “Components Overview | Langflow Documentation.” Langflow.org, 2025, docs.langflow.org/concepts-components.

7 “Alpha Vantage MCP for Stock Market Data.” Alphavantage.co, 2025, mcp.alphavantage.co/.