ist eine beliebte Funktion, die Sie in Apps wie ChatGPT und Google Gemini aktivieren können. Es ermöglicht Benutzern, wie gewohnt eine Abfrage zu fragen, und die Anwendung verbringt eine längere Zeit damit, die Frage ordnungsgemäß zu erforschen und eine bessere Antwort zu erhalten als normale LLM -Antworten.

Sie können dies auch auf Ihre eigene Sammlung von Dokumenten anwenden. Angenommen, Sie haben Tausende von Dokumenten interner Unternehmensinformationen. Möglicherweise möchten Sie ein tiefes Forschungssystem erstellen, das Benutzerfragen aufnimmt, alle verfügbaren (internen) Dokumente scannt und eine gute Antwort auf der Grundlage dieser Informationen enthält.

Tiefes Forschungssystem
Diese Infografik unterstreicht den Hauptinhalt dieses Artikels. Ich werde diskutieren, in welchen Situationen Sie ein tiefes Forschungssystem erstellen müssen und in welchen Situationen einfachere Ansätze wie Rag- oder Key phrase -Suche besser geeignet sind. Wenn ich weitergibt, werde ich diskutieren, wie man ein tiefes Forschungssystem baut, einschließlich des Sammelns von Daten, zum Erstellen von Instruments und zum Zusammenstellen mit einem Orchestrator -LLM und Subagenten. Bild von Chatgpt.

Inhaltsverzeichnis

Warum ein tiefes Forschungssystem aufbauen?

Die erste Frage, die Sie sich stellen könnten, ist:

Warum brauche ich ein tiefes Forschungssystem?

Dies ist eine faire Frage, da es andere Alternativen gibt, die in vielen Situationen lebensfähig sind:

  • Füttern Sie alle Daten in ein LLM
  • LAPPEN
  • Key phrase -Suche

Wenn Sie mit diesen einfacheren Systemen davonkommen können, sollten Sie das quick immer tun. Der von der By am einfachste Ansatz ist einfach, alle Daten in ein LLM zu versetzen. Wenn Ihre Informationen in weniger als 1 Million Token enthalten sind, ist dies definitiv eine gute Possibility.

Wenn der herkömmliche Lappen intestine funktioniert oder relevante Informationen mit einer Key phrase -Suche finden, sollten Sie diese Optionen auch auswählen. Manchmal ist jedoch keine dieser Lösungen stark genug, um Ihr Drawback zu lösen. Vielleicht müssen Sie viele Quellen tief analysieren, und ein Chunk -Abruf von Ähnlichkeit (LAG) ist nicht intestine genug. Oder Sie können keine Key phrase -Suche verwenden, da Sie mit dem Datensatz nicht vertraut sind, um zu wissen, welche Schlüsselwörter verwendet werden sollen. In diesem Fall sollten Sie in Betracht ziehen, ein tiefes Forschungssystem zu verwenden.

So bauen Sie ein tiefes Forschungssystem auf

Sie können das tiefe Forschungssystem natürlich von Anbietern wie OpenAI nutzen, die a Deep Analysis API. Dies kann eine gute Various sein, wenn Sie die Dinge einfach halten möchten. In diesem Artikel werde ich jedoch ausführlicher diskutieren, wie ein tiefes Forschungssystem aufgebaut wird und warum es nützlich ist. Anthropic schrieb einen sehr guten Artikel über ihre Multi -Agent -Forschungssystem (Das ist tiefe Forschung), was ich empfehle, um weitere Particulars zum Thema zu verstehen.

Sammeln und Indizierungsinformationen

Der erste Schritt für alle Informationsfindungssysteme besteht darin, alle Ihre Informationen an einem Ort zu sammeln. Vielleicht haben Sie Informationen in Apps wie:

  • Google Drive
  • Vorstellung
  • Salesforce

Sie müssen diese Informationen dann entweder an einem Ort sammeln (zum Beispiel in PDFs in PDFs konvertieren und im selben Ordner speichern), oder Sie können sich mit diesen Apps verbinden, wie es Chatgpt in seiner Anwendung getan hat.

Nachdem wir die Informationen gesammelt haben, müssen wir sie nun indexieren, um sie leicht verfügbar zu machen. Die beiden Hauptindizes, die Sie erstellen sollten, sind:

  • Key phrase -Suchindex. Zum Beispiel BM25
  • Vektor -Ähnlichkeitsindex: Teilen Sie Ihren Textual content an, setzen Sie ihn ein und speichern Sie ihn in einem VectordB -ähnlichen Pinecone

Dies macht die Informationen leicht zugänglich aus den Instruments, die ich in der nächsten Sitzung beschreiben werde.

Werkzeuge

Die Agenten werden später Instruments benötigen, um relevante Informationen abzurufen. Sie sollten daher eine Reihe von Funktionen erstellen, die es dem LLM erleichtern, die relevanten Informationen zu holen. Wenn der Benutzer beispielsweise nach einem Verkaufsbericht abfragt, möchte der LLM möglicherweise eine Key phrase -Suche danach durchführen und die abgerufenen Dokumente analysieren. Diese Instruments können so aussehen:

@device 
def keyword_search(question: str) -> str:
    """
    Seek for key phrases within the doc.
    """
    outcomes = keyword_search(question)

    # format responses to make it straightforward for the LLM to learn
    formatted_results = "n".be part of((f"{consequence('file_name')}: {consequence('content material')}" for lead to outcomes))

    return formatted_results


@device
def vector_search(question: str) -> str:
    """
    Embed the question and seek for comparable vectors within the doc.
    """
    vector = embed(question)
    outcomes = vector_search(vector)

    # format responses to make it straightforward for the LLM to learn
    formatted_results = "n".be part of((f"{consequence('file_name')}: {consequence('content material')}" for lead to outcomes))

    return formatted_results

Sie können dem Agenten auch zulassen, dass der Agent zu anderen Funktionen zugänglich ist, z. B.:

  • Web -Suche
  • Dateiname nur Suche

Und andere potenziell relevante Funktionen

Alles zusammenstellen

Ein tiefes Forschungssystem besteht in der Regel aus einem Orchestrator -Agenten und vielen Subagenten. Der Ansatz ist normalerweise wie folgt:

  • Ein Orchestrator -Agent empfängt die Nutzerabfrage und Pläne für die Ansätze
  • Viele Subagenten werden gesendet, um relevante Informationen abzurufen und die zusammengefassten Informationen an den Orchestrator zurückzuführen
  • Der Orchestrator stellt fest, ob er genügend Informationen enthält, um die Benutzerabfrage zu beantworten. Wenn nein, kehren wir zum letzten Kugelpunkt zurück; Wenn ja, können wir den endgültigen Aufzählungszeichen sorgen
  • Der Orchestrator stellt alle Informationen zusammen und gibt dem Benutzer eine Antwort
Diese Abbildung zeigt das tiefe Forschungssystem, das ich diskutierte. Sie geben die Benutzerabfrage ein, ein Orchestrator -Agent verarbeitet sie und sendet Subagenten, um Informationen aus dem Dokumentkorpus abzurufen. Der Orchestrator -Agent stellt dann fest, ob er genügend Informationen enthält, um auf die Benutzerabfrage zu reagieren. Wenn die Antwort Nein lautet, holt sie weitere Informationen und wenn sie über genügend Informationen verfügt, generiert sie eine Antwort für den Benutzer. Bild des Autors.

Darüber hinaus haben Sie möglicherweise eine klärende Frage, wenn die Frage des Benutzers vage ist oder nur um den Umfang der Abfrage des Benutzers einzugrenzen. Sie haben dies wahrscheinlich erlebt, wenn Sie ein tiefes Forschungssystem aus einem Frontier -Labor verwendet haben, in dem das tiefe Forschungssystem immer mit einer klärenden Frage stellt.

Normalerweise ist der Orchestrator ein größeres/besseres Modell, beispielsweise Claude Opus oder GPT-5 mit hoher Argumentation. Die Subagenten sind typischerweise kleiner, wie GPT-4.1 und Claude-Sonett.

Der Hauptvorteil dieses Ansatzes (insbesondere im traditionellen Lappen) besteht darin, dass Sie das System ermöglichen, weitere Informationen zu scannen und zu analysieren und die Wahrscheinlichkeit von fehlenden Informationen zu senken, die für die Reaktion auf die Benutzerabfrage related sind. Die Tatsache, dass Sie mehr Dokumente scannen müssen, macht das System typischerweise auch langsamer. Dies ist natürlich ein Kompromiss zwischen Zeit und Qualität der Antworten.

Abschluss

In diesem Artikel habe ich diskutiert, wie man ein tiefes Forschungssystem aufbaut. Ich habe zunächst die Motivation für den Aufbau eines solchen Programs behandelt und in welchen Szenarien Sie sich stattdessen darauf konzentrieren, einfachere Systeme wie Lappen oder Keywordsuche zu erstellen. Als ich fortsetzte, diskutierte ich die Grundlage für das, was ein tiefes Forschungssystem ist, das im Wesentlichen eine Benutzerabfrage aufnimmt, Pläne für die Beantwortung von Subagenten sendet, um relevante Informationen abzurufen, diese Informationen zu aggregieren und auf den Benutzer zu reagieren.

👉 Finden Sie mich in Socials:

🧑‍💻 Sich in Verbindung setzen

🔗 LinkedIn

🐦 X / Twitter

✍️ Medium

Sie können auch einige meiner anderen Artikel lesen:

Von admin

Schreibe einen Kommentar

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