Mit versteckt meine ich eine Kategorie, die für die meisten Benutzer nicht sichtbar ist. Sie muss nicht versteckt sein, aber eine Kategorie mit nur den PDFs, die als Wissen für RAG zugänglich sind, könnte durch andere Benutzer unübersichtlich werden.
Ich habe PDFs als Beispiel verwendet, da viele Handbücher wahrscheinlich bereits als PDFs existieren, und angemerkt, dass sie in einer Kategorie versteckt werden sollten, da dies leichter zu verstehen ist. Für andere Möglichkeiten, die keine versteckte Kategorie erfordern würden, ist Langchain Retrieval ein guter Ausgangspunkt.
Ich habe damit kein Problem, es bringt die Idee, was getan werden muss, in die richtige Richtung.
Das Wort Assistent scheint jedoch in bestimmten Kontexten an Boden zu verlieren gegenüber dem neuen Kind im Block GPTs. GPTs scheinen auch ChatGPT-Plugins zu ersetzen, aber ich benutze seit Monaten kein ChatGPT-Plugin mehr, also bemerke ich es wirklich nicht, ich sehe nur Gerede darüber in den Foren.
wurden die Assistant API und GPTs nicht am selben Tag eingeführt?
ist ein GPT nicht nur ein benutzerfreundlicheres No-Code-Frontend für einen Assistenten, dem die Möglichkeit fehlt, über eine API aufgerufen zu werden?
Ich weiß, dass einer der Discourse-Mitarbeiter da war.
Ich muss ehrlich sein. Ich wusste nicht genug, um zu antworten, also habe ich mir dieses Video angesehen.
In Bezug auf Assistant scheint es, dass GPTs Ihnen Folgendes bietet:
Web-Browsing
DALL*E Bilderzeugung
Code Interpreter
Ich stimme den meisten Ihrer Anmerkungen zu.
Nachdem ich durch das Video so viel mehr über GPTs gelernt habe, muss ich sagen, dass es beeindruckend ist, aber immer noch nicht die Bedürfnisse der meisten Menschen erfüllt, aber es macht Fortschritte. Es war auch interessant, einige der JSON zu sehen, die mit ChatGPT-Plugins gleich/ähnlich sind.
In Bezug auf dieses Thema stelle ich fest, dass viele im OpenAI-Forum versuchen, Dateien für die Verwendung mit RAG hochzuladen, und schnell feststellen, dass es eine Beschränkung von 10 Dateien gibt. Auch ein Link zu GPT kann geteilt werden, aber der andere Benutzer muss auch ein ChatGPT Plus-Abonnent sein, daher ist dies für viele mit einem kommerziellen Vorhaben wahrscheinlich eine Sackgasse.
Die Open AI Assistant API ist noch in einem sehr frühen Stadium und befindet sich effektiv in der Vorschau:
Sie soll unerschwinglich teuer sein (sie füllt den verfügbaren Kontext bei jeder Iteration, unabhängig davon, ob sie ihn benötigt, und Sie zahlen dafür, ob Sie ihn benötigen oder nicht).
Sie leidet offenbar unter einem “Endlosschleifen”-Problem, bei dem sie sich gelegentlich unendlich wiederholt. Dies ist ein überraschendes Problem angesichts der offensichtlichen Expertise des Unternehmens, da es sehr einfach ist, eine Abhilfemaßnahme dafür zu entwickeln.
Ich vermute, sie braucht noch etwas Zeit und muss Feedback von Early Adopters einarbeiten.
Als potenzielle zukünftige Vereinfachung für nachgelagerte Verbraucher von KI-Diensten wie Chatbot begrüße ich sie.
Auf jeden Fall benötigen Sie eine Schnittstelle zu Discourse.
Chatbot bietet bereits die gleiche Leistung wie die Assistant API ohne deren Probleme und bietet zusätzlich die Schnittstelle zu Discourse. Sie ist letztendlich API-Iterations-agnostisch und wird sich mit verfügbaren Diensten weiterentwickeln, und es ist sehr gut möglich, dass sie in Zukunft eine Assistant API-Option anbieten wird, aber derzeit gibt es keinen Vorteil, dies zu tun, da dies nur Probleme verursachen wird (einschließlich der oben genannten).
20, aber ja, eine sehr begrenzte Menge – was durch Anhängen aller benötigten Dateien zu einer einzigen großen Datei (die schnell ziemlich teuer wird) umgangen werden kann.
und die große Überraschung ist, dass man nicht weiß, wie teuer es ist, bis später…
Fast – die Assistant API hat die Möglichkeit, privates, benutzerdefiniertes Wissen einzubeziehen, das extern zu Discourse ist.
Siehe das obige Beispiel – wenn Sie PDFs mit Benutzerhandbüchern haben und diese in Discourse hochladen, werden sie nicht verarbeitet und indiziert. Sie müssten sie in Markdown konvertieren. Dies ist nicht nur mühsam, sondern würde auch zusätzliche Automatisierung und Konvertierungen beinhalten.
Die Realität vielleicht?
Die Wahrheit ist, dass die meisten Domänenkenntnisse nicht ohne Weiteres in Markdown verfügbar sind.
Nehmen Sie wieder das obige Beispiel. Sie haben schöne PDF-Benutzerhandbücher, die von einer ganz anderen Abteilung erstellt wurden. Einmal konvertieren und lokal bearbeiten funktioniert nicht.
Schön, dass sich andere daran beteiligen und ich hoffe, dass dies für Ryan von Vorteil ist.
Vielleicht kann @37Rb (Ryan) weitere Informationen liefern.
Sehen Sie die Verwendung von Handbüchern für RAG für einen Discourse AI-Bot auf der Discourse-Website voraus?
a. In welchem Format liegen die Handbücher derzeit vor? Gedruckt, PDF, Website, Sonstiges?
b. Wie oft wird die Wissensdatenbank mit neuen Handbüchern oder Versionen aktualisiert?
c. Werden die Handbücher öffentlich auf der Website zugänglich gemacht?
Welche anderen Informationen als das Discourse-Forum könnten für eine KI wertvoll sein, um auf der Support-Website zu antworten?
Sehen Sie bei der Erstellung eines Discourse AI-Bots weitere Bedürfnisse für den Bot? Ich frage dies, weil Sie, wenn Sie die Geschichte der Erstellung des AI-Bots in Discourse lesen, sehen werden, dass er viele Änderungen durchgemacht hat, er war nicht perfekt bei den ersten Kreationen und erfährt immer noch viele Änderungen.
Können Sie einige Beispiele dafür erstellen, wie Sie den Bot oder die Agenten im Einsatz sehen? Zeigen Sie zum Beispiel einige verschiedene Fälle, in denen ein Benutzer mit dem Bot chattet.
Hinweis: Ich verwende das Wort Agent in Anlehnung an einen Langchain Agent und nicht zu verwechseln mit einem OpenAI Assistant.
Nicht öffentliche Informationen, die nur der Bot direkt sieht (die aber letztendlich die Art und Weise beeinflusst, wie er mit dem Benutzer kommuniziert)
Ich hatte gerade eine Idee, nachdem ich gesehen habe, wie OpenAI GPT in einer YouTube-Demo erstellt wurde.
Sie könnten ein OpenAI GPT erstellen, was ein ChatGPT Plus-Abonnement und wahrscheinlich Zugang nach einer Warteliste erfordert, ähnlich dem, was Sie lernen möchten, über die Vor- und Nachteile einer solchen Technologie, und das zur Erstellung eines Discourse AI-Bots genutzt werden kann. Ich schlage nicht vor, dass Sie den Bot erstellen, aber Sie hätten ein besseres Verständnis dafür, was die KI kann und wo sie kläglich versagen wird.
PDF oder HTML (online gehostet), aber ich kann sie problemlos in Text/Markdown konvertieren und als Discourse-Beiträge pflegen. Wir können ein Skript erstellen, um dies zu erleichtern.
Produkt-Handbücher werden nicht häufig aktualisiert, aber andere Inhalte in der Wissensdatenbank schon. Dinge wie FAQs, häufige/trendige Probleme usw. würden häufiger aktualisiert. Wir veröffentlichen so viel wie möglich öffentlich, aber einige Dinge machen Sinn, privat zu halten – nicht, weil es sich um sensible Informationen handelt, sondern weil sie als öffentlicher Beitrag seltsam und verwirrend aussehen könnten.
Ja, offizielle Produkt-Handbücher sind normalerweise PDFs. Zum Beispiel…
Vorerst wahrscheinlich nichts. Es ist zu riskant, die KI im Internet suchen zu lassen und Ergebnisse zu erhalten, die für uns nicht zutreffend sind.
In Zukunft könnte ich mir vorstellen, dem Bot zusätzlichen Kontext über das Sicherheitssystem des Kunden zu geben, aber das wird aufgrund von Datenschutzbedenken möglicherweise nie möglich sein.
Mir scheint, dass, da alles auf RAG basiert, das Wichtigste darin besteht, uns eine feingranulare Kontrolle darüber zu geben, wie der Bot das Forum durchsucht und die KI auffordert. Soweit ich gelesen habe, scheint Merefields Discourse Chatbot dies heute besser zu können. Ich hoffe, diese Theorie diese Woche zu testen.
Für uns geht es immer darum, Benutzer/Kunden zu unterstützen, indem wir ihre Fragen beantworten oder ihre Probleme lösen. Zum Beispiel:
Ihnen zu helfen, herauszufinden, was sie kaufen müssen, um ihr spezifisches Zuhause zu sichern, manchmal unter Berücksichtigung von Sicherheitstechnik, die sie bereits besitzen.
Ihnen bei der Installation und Nutzung ihres Systems zu helfen.
Ihnen bei der Fehlerbehebung zu helfen, wenn sie Probleme haben.
Fragen zu beantworten, die sie über die Funktionsweise, zukünftige Möglichkeiten usw. haben.
Ich weiß, dass dies nur ein einfacher Link ist, den Sie teilen, aber für viele andere, die Ihnen auf Ihren Spuren folgen, um eine Support-Website zu erhalten, auf der ein KI-Bot antwortet und es anderen ermöglicht, den Ideenaustausch in einem öffentlichen Forum zu sehen, ist dies bahnbrechend. Ich weiß, dass Unternehmen dies privat tun, aber Sie tun es öffentlich.
Ich habe mich auch gefreut, die Diagramme zu sehen, da dies meine Annahmen bestätigte.
Das würde ich nicht tun.
Der Bot wird das Forum nicht tatsächlich durchsuchen, ähnlich wie Text in Beiträgen gesucht wird. Die Schlüsselwörter und verwandten Technologien, die Sie dafür lernen müssen, sind Vektordatenbank und Nächste-Nachbar-Suche.
Um Codebeispiele für die Verwendung solcher zu sehen, schauen Sie sich an:
Ich habe die kostenlose Online-Version ein paar Mal benutzt und wie ich in meiner Antwort bemerkt habe, habe ich nichts Besseres gesehen und ich habe im Laufe der Jahre viel nach Möglichkeiten gesucht, Text und andere Informationen aus einer PDF-Datei zu extrahieren.
Ich möchte hier noch einige Informationen hinzufügen, da einige vielleicht denken, dass die Referenz (Name des Handbuchs, Veröffentlichungsdatum, Abschnitt und Absatz) Teil der mit RAG verwendeten Informationen ist, und ich habe es nicht so vorgesehen und einige der benötigten Details nicht angegeben. Ich habe die Verwendung von Metadaten vorgesehen; für mich haben Daten und Metadaten sehr unterschiedliche Bedeutungen und Verwendungen.
Als ich ChatGPT dazu befragte, gab es eine Antwort, die meinen Vorstellungen entsprach, aber mit ein paar spezifischeren Details wie Elasticsearch.
Prompt
Wie kann man RAG (Retrieval Augmented Generation) mit einem PDF-Handbuch für ein Produkt verwenden und den Titel, das Veröffentlichungsdatum, die Seite und die Absatznummer aus dem Handbuch als Referenz mit den angegebenen Informationen erhalten?
Vervollständigung
Die Verwendung von Retrieval Augmented Generation (RAG) mit einem PDF-Handbuch zur Extraktion spezifischer Informationen wie Titel, Veröffentlichungsdatum, Seite und Absatznummer umfasst mehrere Schritte. RAG, entwickelt von Facebook AI, kombiniert die Leistung von Retrieval (Abrufen relevanter Dokumente oder Daten) mit Sprachgenerierung, was es dem Modell ermöglicht, externes Wissen zu referenzieren und zu integrieren. Hier ist ein allgemeiner Ansatz zur Verwendung von RAG mit einem PDF-Handbuch:
Konvertieren Sie das PDF-Handbuch in ein Textformat:
Zuerst müssen Sie das PDF-Handbuch in ein Textformat konvertieren, das verarbeitet werden kann. Tools wie Adobe Acrobat, pdftotext (Teil des Xpdf-Projekts) oder Python-Bibliotheken wie PyPDF2 oder PDFMiner können für diesen Zweck verwendet werden.
Vorverarbeiten des Textes:
Sobald Sie den Text haben, müssen Sie ihn möglicherweise vorverarbeiten. Dies beinhaltet das Entfernen unnötiger Formatierungen, die Behandlung von Sonderzeichen und möglicherweise die Segmentierung des Textes in Abschnitte, Seiten und Absätze mit identifizierbaren Markierungen.
Indizieren des Handbuchs:
Damit RAG effektiv funktioniert, muss der Inhalt des Handbuchs indiziert werden. Das bedeutet, eine Datenbank oder ein strukturiertes Format zu erstellen, in dem jede Information (wie ein Absatz oder ein Abschnitt) mit ihren entsprechenden Metadaten (Seitenzahl, Absatznummer usw.) gespeichert wird. Elasticsearch oder eine ähnliche Suchmaschine kann für diesen Zweck verwendet werden.
Integration von RAG:
Mit Ihrem indizierten Handbuch können Sie nun RAG integrieren. RAG kombiniert typischerweise ein Transformer-basiertes Sprachmodell (wie BERT oder RoBERTa) für das Retrieval und ein Sequenz-zu-Sequenz-Modell (wie BART oder T5) für die Generierung. Sie müssen RAG so einrichten, dass es Ihr indiziertes Handbuch abfragt. Dies kann die Anpassung der Retrieval-Komponente zur Arbeit mit Ihrer Suchmaschine beinhalten.
Abfragen des Systems:
Wenn Sie das RAG-System abfragen, findet die Retrieval-Komponente zuerst die relevantesten Abschnitte des Handbuchs basierend auf Ihrer Abfrage. Diese Informationen werden dann an die Generierungs-Komponente weitergeleitet, die eine Antwort formuliert.
Extrahieren von Referenzinformationen:
Um den Titel, das Veröffentlichungsdatum, die Seite und die Absatznummer zu erhalten, müssen Sie sicherstellen, dass diese Details entweder in den abgerufenen Segmenten enthalten sind oder dass das System auf die indizierten Daten zurückgreifen kann, um diese Metadaten abzurufen. Dies erfordert möglicherweise zusätzliche Logik in Ihrem System.
Nachbearbeitung für Referenzen:
Nachdem die Antwort generiert wurde, müssen Sie möglicherweise einen Nachbearbeitungsschritt durchführen, um die Referenzen korrekt zu formatieren und sicherzustellen, dass der Titel, das Veröffentlichungsdatum, die Seite und die Absatznummer genau enthalten sind.
Feinabstimmung und Evaluierung:
Abhängig von Ihren spezifischen Anforderungen und der Komplexität des Handbuchs müssen Sie möglicherweise das RAG-Modell auf ähnliche Dokumenttypen oder Abfragen feinabstimmen. Bewerten Sie die Leistung des Systems und passen Sie Ihren Ansatz nach Bedarf an.
Integration mit Benutzeroberfläche:
Schließlich, wenn dieses System für Endbenutzer bestimmt ist, integrieren Sie es in eine benutzerfreundliche Oberfläche, auf der Benutzer Abfragen eingeben und Antworten mit den referenzierten Informationen erhalten können.
Denken Sie daran, dass die Effektivität dieses Ansatzes stark von der Qualität der indizierten Daten, den Fähigkeiten des Retrieval-Modells und davon abhängt, wie gut das Generierungsmodell für Ihren spezifischen Anwendungsfall trainiert oder feinabgestimmt wurde.
Hinweis: Obwohl ich ChatGPT verwende, um Informationen zu generieren, poste ich auch keine Informationen von ChatGPT, wenn ich denke, dass sie falsch sind. Mit anderen Worten, ChatGPT kann nützlich sein, aber Sie müssen wissen, ob die gegebenen Informationen korrekt sind oder nicht. Obwohl ich nicht genau das implementiert habe, was ChatGPT hier beschreibt, habe ich genug Erfahrung damit, dass ich dies oder eine Abweichung davon verwenden würde.
Das Discourse Chatbot-Plugin hat einen Schritt, bei dem Sie die Embeddings erstellen, der die Embeddings-API von OpenAI verwendet. Das Discourse AI-Plugin scheint dies nicht zu tun (es zeigte keine Embeddings-Aktivität im OpenAI-Dashboard an), findet aber dennoch Beiträge in unserem Forum. Wenn es keine Embeddings zur semantischen Suche generiert, wie sucht dann das Discourse AI-Plugin im Forum? Verwendet es eine normale Textsuche? Berechnet es eigene Embeddings?