In unserer schnelllebigen, KI-gesteuerten Welt suchen Unternehmen jeder Größe nach Möglichkeiten, fortschrittliche Technologien wie große Sprachmodelle (LLMs) (opens new window) nahtlos in ihren täglichen Betrieb zu integrieren. Die potenziellen Vorteile sind enorm - sei es die Verbesserung des Kundenservice, die Automatisierung von Routineaufgaben oder die Bereitstellung personalisierter Erlebnisse.
Der Weg von der Konzeption zur Implementierung ist jedoch oft herausfordernd, insbesondere für diejenigen ohne tiefgreifende technische Kenntnisse. Traditionelle Methoden erfordern umfangreiche Programmierkenntnisse, was für viele eine Hürde darstellen kann.
Hier kommt Dify.AI (opens new window) ins Spiel. Dify ist eine benutzerfreundliche Plattform, die die Integration von LLMs in den Geschäftsbetrieb vereinfacht und auch für nicht-technische Benutzer zugänglich macht.
In diesem Blog führen wir Sie durch die Schritte zur Entwicklung einer Retrieval Augmented Generation (RAG) (opens new window)-Anwendung mit Dify und MyScale und zeigen Ihnen, wie einfach es sein kann.
# Was ist Dify
Dify.AI (opens new window) ist eine Open-Source-Plattform, die es jedem, ob Entwickler oder nicht, erleichtert, LLMs zu verwenden. Mit einer einfachen, benutzerfreundlichen Oberfläche ermöglicht es Dify Ihnen, KI-gesteuerte Anwendungen und Chatbots zu erstellen, bereitzustellen und zu verwalten, ohne dass Sie viel Programmierkenntnisse benötigen.
Was Dify auszeichnet, ist seine breite Unterstützung für verschiedene LLMs, so dass Sie dasjenige auswählen können, das am besten zu Ihren Bedürfnissen passt. Es bietet Funktionen wie eine Retrieval-Augmented Generation (RAG)-Engine, Workflow-Automatisierung, Überwachungstools und Sicherheit auf Unternehmensniveau, was es zu einer starken Option für Unternehmen jeder Größe macht.
Das Vergleichsbild unten zeigt, wie Dify im Vergleich zu anderen beliebten Plattformen wie LangChain (opens new window), Flowise (opens new window) und OpenAI (opens new window) Assistants API abschneidet:
Dify bietet zwei Versionen: eine webbasierte Cloud-Plattform, auf die jeder ohne Einrichtung zugreifen kann, und eine lokal bereitstellbare Version für Benutzer, die eine Selbsthosting in ihrer Umgebung bevorzugen.
Die Selbsthosting-Version von Dify ermöglicht es Benutzern, die Plattform in ihrer Umgebung bereitzustellen und gibt ihnen die volle Kontrolle über Daten und Sicherheit. Diese Version eignet sich ideal für Unternehmen oder Entwickler, die ihre KI-Anwendungen in ihrer Infrastruktur verwalten möchten.
In diesem Blog verwenden wir die Selbsthosting-Version von Dify, um unsere RAG-Anwendung zu erstellen.
# Dify herunterladen
Um Ihre RAG-Anwendung einzurichten, müssen Sie zunächst die Dify-Plattform herunterladen. Dies kann durch Klonen des Repositorys von GitHub (opens new window) erfolgen. Verwenden Sie den folgenden Befehl, um das Repository in Ihrer lokalen Umgebung zu klonen:
git clone https://github.com/langgenius/dify.git
Damit erhalten Sie alle erforderlichen Dateien und Konfigurationen, um mit Dify auf Ihrem Computer arbeiten zu können.
# Die richtige Vektordatenbank auswählen
Die Effektivität einer RAG-Anwendung hängt weitgehend davon ab, wie effizient und genau sie Dokumente als Antwort auf Benutzerabfragen abruft. Standardmäßig ist Dify so konfiguriert, dass es weaviate
als seine Vektordatenbank verwendet, was eine zuverlässige Wahl für die Verwaltung und Abfrage großer Datensätze ist.
Für diesen Blog gehen wir jedoch einen Schritt weiter und integrieren MyScaleDB (opens new window), eine fortschrittliche SQL-basierte Vektordatenbank. MyScaleDB hat in verschiedenen Benchmarks (opens new window) eine überlegene Leistung in Bezug auf Geschwindigkeit und Genauigkeit gezeigt und andere Vektordatenbanken übertroffen. Durch die Verwendung von MyScaleDB können wir sicherstellen, dass unsere RAG-Anwendung Daten mit höchster Präzision abruft und das gesamte Benutzererlebnis optimiert.
# MyScaleDB in Dify verwenden
Dify unterstützt sowohl das Open-Source MyScaleDB (opens new window) als auch das Enterprise-Level MyScale Cloud (opens new window). Wenn Sie die Open-Source-Version von MyScaleDB bevorzugen, können Sie diesen Abschnitt überspringen.
Um mit MyScale Cloud zu beginnen, besuchen Sie die MyScaleDB-Anmeldeseite (opens new window) und erstellen Sie ein neues Konto. Sobald Ihr Konto eingerichtet ist, gehen Sie zur Clusters-Seite und klicken Sie oben rechts auf den Button "+ Neuer Cluster", um einen neuen Cluster zu erstellen.
Geben Sie anschließend den Cluster-Namen ein, klicken Sie auf die Schaltfläche "Weiter" und warten Sie, bis der Cluster vollständig gestartet ist.
Klicken Sie auf die Schaltfläche "Aktionen" auf der rechten Seite des Clusters. Wählen Sie dann "Verbindungsdetails" aus der Popup-Liste aus.
Notieren Sie sich die Informationen zu Host/Port/Benutzername/Passwort
aus dem Tab "Python". Diese Informationen werden verwendet, um den Zugriff von Dify auf den MyScale-Cluster zu konfigurieren.
# MyScale mit Dify integrieren
Um MyScale mit Dify zu integrieren, beginnen Sie damit, eine Kopie der Beispiel-.env
-Datei zu erstellen. Geben Sie dazu die folgenden Befehle in Ihrem Terminal ein.
cd docker
cp .env.example .env
Dadurch wird eine neue .env
-Datei in Ihrem Docker-Repository generiert. Der nächste Schritt besteht darin, die aus Ihrem MyScale-Cluster erhaltenen Details in diese Datei einzufügen.
Öffnen Sie dazu die .env
-Datei und befolgen Sie die folgenden Schritte:
- Setzen Sie
VECTOR_STORE
aufMyScale
VECTOR_STORE=MyScale
- Wenn Sie MyScale Cloud verwenden, passen Sie die relevanten Konfigurationen an (Sie können
MyScale_DATABASE
unverändert lassen) basierend auf den Details, die Sie von der MyScale Cloud-Webseite erhalten haben. Wenn Sie das Open-Source MyScaleDB verwenden, sind keine Änderungen für die folgenden Konfigurationen erforderlich:
MYSCALE_HOST=Ihr-Hostname-hier
MYSCALE_PORT=8443
MYSCALE_USER=Ihr-Benutzername-hier
MYSCALE_PASSWORD=Ihr-Passwort-hier
MYSCALE_DATABASE=default
MySCALE_FTS_PARAMS=
MyScaleDB bietet leistungsstarke Funktionen für die Volltextsuche, die es ermöglichen, in großen Textdatensätzen zu suchen. Die Variable MySCALE_FTS_PARAMS
ermöglicht es Ihnen, diese Suchparameter zu konfigurieren, z.B. die Tokenisierung einzurichten und die Groß-/Kleinschreibung anzupassen, um sicherzustellen, dass Ihre Suchanfragen optimal auf Ihre spezifischen Bedürfnisse abgestimmt sind.
In diesem Blog halten wir es einfach, indem wir den Standard-Tokenizer verwenden. Fügen Sie dazu einfach die folgende Zeile zu Ihrer .env
-Datei hinzu:
MySCALE_FTS_PARAMS='{"text":{"tokenizer":{"type":"default"}}}'
Hinweis: Wenn Sie mehrere Sprachen unterstützen müssen, z.B. chinesische Dokumente, lesen Sie bitte die offizielle MyScale-Dokumentation (opens new window), um den Parameter MySCALE_FTS_PARAMS
zu konfigurieren.
- Nachdem Sie diese Änderungen vorgenommen haben, starten Sie Dify wie folgt:
docker compose up -d
Hinweis: Stellen Sie vor der Eingabe des obigen Befehls sicher, dass Docker auf Ihrem System installiert und ausgeführt wird. Wenn Docker nicht installiert ist, können Sie es von der offiziellen Docker-Website (opens new window) herunterladen und installieren.
Der obige Befehl startet die erforderlichen Dienste (Docker Compose bringt die erforderlichen Anwendungen hoch). Sobald alle Dienste im Zustand "gestartet" sind, öffnen Sie Ihren Browser und navigieren Sie zu http://localhost (opens new window), um Dify zu verwenden. Sie sehen eine Anmeldeseite wie diese:
Der nächste Schritt besteht darin, ein Administrator-Konto einzurichten und sich bei Dify anzumelden. Nach der Anmeldung werden Sie zur Startseite weitergeleitet.
An diesem Punkt sind unsere Dify-Plattform und MyScaleDB reibungslos einsatzbereit. Jetzt können wir zur eigentlichen Implementierung des Chatbots übergehen.
# Erstellen Sie einen Chatbot mit MyScale und Dify
# Schritt 1: Richten Sie die Wissensbasis ein
Jetzt, da alles eingerichtet ist, können wir mit dem Aufbau des Chatbots beginnen. Das erste, was wir brauchen, ist eine Wissensbasis, die unser Chatbot verwenden wird, um Benutzeranfragen zu beantworten. Klicken Sie dazu auf die Schaltfläche "Wissen" und laden Sie die Datei hoch, die Sie als Wissensbasis verwenden möchten.
Dify ermöglicht es Ihnen, Daten aus verschiedenen Quellen zu integrieren, z.B. Synchronisierung mit Notion oder einer Website.
Hinweis: Für unsere Wissensbasis haben wir Inhalte aus zwei Artikeln MyScaleDB gegen Zilliz (opens new window) und MyScale gegen Pinecone (opens new window) kombiniert.
# Schritt 2: Passen Sie die Optionen der Wissensbasis an
Nachdem Sie Ihre Datei hochgeladen haben, haben Sie Zugriff auf verschiedene Anpassungsoptionen, z.B. die Anpassung der Chunk-Größe, die Auswahl des Einbettungsmodells und die Auswahl des Typs der Suchfunktion, die Sie implementieren möchten.
Für die Abrufmethode wählen wir die Option der Volltextsuche, um unsere Suchanfragen für Textdaten schlank und effizient zu halten.
Hinweis: Für "High Quality"-Einbettungen verwenden wir OpenAI's Einbettungsmodelle (opens new window). Um den OpenAI-Schlüssel (opens new window) in Ihrer Umgebung einzurichten, klicken Sie auf Ihr Profil in der oberen rechten Ecke, gehen Sie zu den Einstellungen und konfigurieren Sie den Schlüssel für die Plattform, die Sie verwenden möchten.
Klicken Sie auf die Schaltfläche "Speichern und Verarbeiten", und das System wird einige Sekunden benötigen, um die Einbettungen zu generieren und die Daten in Ihrer Wissensbasis (MyScaleDB) zu speichern. Sobald die Daten gespeichert sind, ist Ihre Wissensbasis vollständig eingerichtet.
# Schritt 3: Erstellen und Konfigurieren des Chatbots
Jetzt sind wir bereit, die Chatbot-Vorlage im Studio auszuwählen und die Wissensbasis damit zu integrieren. Im Studio wählen Sie "Chatbot" und klicken dann im Menü "Create APP" auf "Create from Blank". Es erscheint ein Popup-Fenster, das Sie durch die nächsten Schritte führt.
Nach dem Klicken auf die Schaltfläche "Erstellen" gelangen Sie zu einem neuen Fenster, in dem Sie Ihre Eingabe schreiben und die von Ihnen erstellte Wissensbasis als Kontext hinzufügen können.
# Schritt 4: Wissensbasis zum Chatbot hinzufügen
Im Fenster "Kontext", wenn Sie auf die Schaltfläche "+Hinzufügen" klicken, sehen Sie eine Liste aller Dateien, die Sie zu Ihrer Wissensbasis hinzugefügt haben. Wählen Sie einfach diejenige aus, die Ihr Chatbot verwenden soll, und klicken Sie auf die Schaltfläche "Hinzufügen". Auf diese Weise hat Ihr Chatbot den richtigen Kontext, um genaue Antworten zu liefern.
Auf die gleiche Weise können Sie Ihrem Chatbot spezifische Anweisungen in das Anweisungsfeld geben.
# Schritt 5: Veröffentlichen und Bereitstellen Sie Ihren Chatbot
Unser Chatbot ist bereit und einsatzbereit! Der letzte Schritt besteht darin, ihn zu veröffentlichen. Klicken Sie einfach auf die Schaltfläche "Veröffentlichen" in der oberen rechten Ecke, und Sie sehen ein Menü wie dieses:
Klicken Sie einfach auf die Schaltfläche "Update", um alle Änderungen, die Sie an Ihrem Chatbot vorgenommen haben, zu speichern. Danach klicken Sie auf die Schaltfläche "App ausführen", und ein neues Chatfenster wird geöffnet.
Hinweis: Sobald Ihr Chatbot bereit ist, können Sie ihn mit Dify problemlos über iframes in beliebige Websites einbetten. Wählen Sie einfach die Option "In Website einbetten" aus und kopieren Sie den iframe-Code. Dadurch können Sie den Chatbot nahtlos in Ihre Website oder Anwendung integrieren.
Klicken Sie auf "Chat starten", und Sie können Ihren Chatbot verwenden.
Zusammenfassend haben Sie nun einen Chatbot mit Dify und MyScaleDB erstellt, der Benutzerfreundlichkeit mit leistungsstarken Suchfunktionen kombiniert. Diese Einrichtung bietet Ihnen eine solide Grundlage, um KI-gesteuerte Anwendungen zu erstellen, die Ihren Anforderungen entsprechen. Jetzt sind Sie bereit, Ihren Chatbot einzusetzen!
# Fazit
Dify.AI (opens new window) ist eine fortschrittliche Open-Source-Plattform, die die Entwicklung von KI für jedermann zugänglich machen soll. Sie bietet ein umfassendes Werkzeugset, einschließlich visueller Prompt-Orchestrierung und einfacher Integrationsmöglichkeiten, um Benutzern die Erstellung leistungsstarker KI-Anwendungen ohne umfangreiche technische Expertise zu ermöglichen. Dify konzentriert sich darauf, traditionelle Barrieren für die KI-Entwicklung zu beseitigen und eine schnelle und effiziente Bereitstellung komplexer KI-Lösungen zu ermöglichen.
MyScaleDB ergänzt Dify als zuverlässige SQL-basierte Vektordatenbank (opens new window), die große Datenoperationen effektiv verarbeitet. Ihre Kompatibilität mit SQL und leistungsstarke Suchfunktionen machen sie ideal für KI-Anwendungen, die eine effektive Datenverwaltung erfordern. MyScaleDB stellt sicher, dass Ihre KI-Lösungen skalierbar und leistungsstark sind und arbeitet Hand in Hand mit den benutzerfreundlichen Tools von Dify.
Darüber hinaus bietet MyScaleDB neuen Benutzern eine kostenlose Entwicklungsstufe zum Speichern von bis zu 5 Millionen Vektoren (768d), was es zu einer ausgezeichneten Option für diejenigen macht, die KI-Anwendungen erkunden und entwickeln möchten, ohne anfangs Kosten zu haben.
Wenn Sie mehr über den Aufbau einer RAG/GenAI-Anwendung erfahren möchten, können Sie uns gerne über Twitter (opens new window) oder Discord (opens new window) kontaktieren.