Chatbot-Endpunkt

Wenn Sie im Frontend eine Frage eingeben, wird eine POST Anfrage an den Endpunkt /api/chat gesendet. Der Anfragetext muss die Frage des Nutzers in folgendem Format enthalten:

Die Antwort der Anwendung ist ein Ereignisstrom, wie in der Server-Sent Events (SSE)-Spezifikation definiert. Die Ereignisse, die der Server an den Client zurückgibt, haben die folgende Reihenfolge:

  • data: [SESSION_ID] session-id-assigned-to-this-chat-session
  • data: [SOURCE] json-formatted-document (Wiederholt für jede identifizierte relevante Dokumentenquelle)
  • data: response chunk (wird für jeden vom LLM zurückgegebenen Antwortblock wiederholt)
  • data: [DONE]

Der Client kann eine Folgefrage stellen, indem er dem Anfrage-URL ein session_id -Abfragezeichenfolgenargument hinzufügt.

Die übergeordnete Logik für den Chatbot-Endpunkt befindet sich in der Funktion api_chat() der Flask-Anwendung in der Datei api/app.py:

Die Funktion ask_question() in der Datei api/chat.py ist eine Generatorfunktion, die die oben beschriebenen Ereignisse mithilfe der Antwort-Streaming-Funktion von Flask streamt, die auf dem Schlüsselwort yield basiert:

Nächste

Abrufphase

Sind Sie bereit, hochmoderne Sucherlebnisse zu schaffen?

Eine ausreichend fortgeschrittene Suche kann nicht durch die Bemühungen einer einzelnen Person erreicht werden. Elasticsearch wird von Datenwissenschaftlern, ML-Ops-Experten, Ingenieuren und vielen anderen unterstützt, die genauso leidenschaftlich an der Suche interessiert sind wie Sie. Lasst uns in Kontakt treten und zusammenarbeiten, um das magische Sucherlebnis zu schaffen, das Ihnen die gewünschten Ergebnisse liefert.

Probieren Sie es selbst aus