Im vorangegangenen Artikel, "DieLokale Bereitstellung DeepSeek-R1 und WeChat Bot Access TutorialsIn "DeepSeek-R1" haben wir DeepSeek-R1 lokal eingesetzt und auf einen WeChat-Bot zugegriffen, der mit uns gechattet hat. Heute möchte ich mit Ihnen eine interessantere Art und Weise teilen, damit zu spielen: wie wir unseren KI-Assistenten mit trockenen Dingen füttern, damit er sich in einen professionellen Berater verwandeln kann, der wirklich weiß, was er tut!
Als Nächstes führe ich Sie durch den gesamten Prozess der Erstellung der Wissensdatenbank, einschließlich der Konfiguration der Umgebung, der Einrichtung der Wissensdatenbank, des Hochladens von Informationen sowie einiger Details zu den Tuning-Tipps. Zum Schluss werden wir diese "wissensreiche" KI in den WeChat-Roboter einsetzen, um einen intelligenten Assistenten zu schaffen, der Sie wirklich versteht!
Schauen wir uns zunächst das Ergebnis an. Dies ist das Ergebnis, nachdem ich eine Informationsabfrage zur "Klassifizierung von menschlichen Verletzungen" hochgeladen habe:
DeepSeek-R1 Einsatz
DeepSeek Es gibt zwei Möglichkeiten der Bereitstellung, zum einen die lokale Bereitstellung und zum anderen den Zugriff auf APIs von Drittanbietern.
Vor- und Nachteile von beidem:
- lokaler Einsatz
✅ Vorteile: vollständig private Daten, geringe langfristige Kosten, schnelle Reaktionszeit
❌ Nachteile: frisst lokale Arithmetik, erfordert besser konfigurierte Rechner - API-Aufruf
✅ Vorteile: schneller Zugriff, wartungsfrei, belastbare Skalierbarkeit
❌ Nachteile: Daten müssen an Dritte weitergegeben werden, langfristige Kosten sind nicht kontrollierbar
Lokale DeepSeek
Zunächst müssen Sie sicherstellen, dass Sie Folgendes installiert haben ollama und ollama funktioniert ordnungsgemäß.
DeepSeekAPI
Eigentlich wollte ich diesen Beitrag nur über den Ansatz der lokalen Bereitstellung schreiben .....
Da jedoch die Webversion von DeepSeek in letzter Zeit "gestreikt" hat, war ich gezwungen, die lokale Version auszuprobieren. ChatBox Ich hatte nicht erwartet, dass ich eine vollwertige Version von R1 erleben würde, und es war ein Riesenspaß! Ich denke, dass diese Lösung auch gut riecht, also werde ich nebenbei in die API schreiben.
Hier stelle ich Ihnen zwei Plattformen zur Verfügung, auf die Sie nach Belieben zugreifen können.
Zunächst müssen wir den API-Schlüssel abrufen und dann die Konfiguration der Wissensdatenbank mit dem API-Schlüssel auffüllen.
vulkanische Arche
offizielle Website
https://console.volcengine.com/ark
Preise
Eingabe: ¥2/M Wertmarken
Ausgabe: ¥8/M Wertmarken
EintragAPIKey-Verwaltung
erstellen.API-Schlüssel
Neuer geheimer Schlüssel, API-Key kopieren
Durchfluss auf Siliziumbasis
Durchfluss auf Siliziumbasis offizielle Website
https://cloud.siliconflow.cn/account/ak
Preise
Eingabe: ¥4/M Wertmarken
Ausgabe: ¥16/M Wertmarken
Gehen Sie auf die linke Seite desAPI-Schlüssel
Klicken Sie aufNeuer geheimer Schlüssel
Nachkopieren des geheimen Schlüssels
Repository
Installation der Wissensdatenbank
Als Nächstes müssen wir auf die Wissensbasis zugreifen, hier verwenden wirAnythingLLM
Das Projekt.
AnythingLLM ist ein quelloffenes Large Language Model (LLM)-Anwendungsframework, das Benutzern helfen soll, auf einfache Weise intelligente Fragen und Antworten, Dokumentenanalysen und andere Anwendungen auf der Grundlage privater Daten zu erstellen und einzusetzen.
Rufen Sie die AnythingLLM-Website auf und laden Sie das Installationsprogramm herunter.
https://anythingllm.com/
Führen Sie das Installationsprogramm aus, zwischendurch werden die zusätzlich benötigten Abhängigkeiten heruntergeladen (GPU, NPG-Unterstützung)
Wenn der Download fehlschlägt oder wenn Sie das Download-Fenster schließen und diesen Schritt überspringen, wird AnythingLLM trotzdem erfolgreich installiert.
Machen Sie sich jetzt keine Sorgen, Sie können die Installation auch manuell durchführen.
Der Weblink hat einelib
Reißverschluss.
Entpacken Sie das Zip-Archiv und legen Sie den extrahierten Ordner in das VerzeichnisIhr Installationsverzeichnis AnythingLLMresourcesollama
Im Inneren des Katalogs.
Konfiguration der Wissensdatenbank
Nach Abschluss der Installation rufen Sie die AnythingLLM-Schnittstelle auf, wo Sie ein großes Standardmodell auswählen müssen.
lokale Konfiguration
Wenn Sie eine lokale Bereitstellung von DeepSeek verwenden, scrollen Sie nach unten, um dieOllama
Wählen Sie einfach.
API-Konfiguration
Wenn Sie eine Drittanbieter-API verwenden, muss dieser Schritt nicht ausgewählt werdenollama
Sie finden es hier unten.Generische OpenAI
Generische OpenAI:
Verbinden Sie sich über eine benutzerdefinierte Konfiguration mit jedem Dienst, der mit dem OpenAI-Schnittstellenformat kompatibel ist.
Es gibt 5 Parameter, die ausgefüllt werden müssen
Verwenden Sie die silikonbasierte Flow-API:
BaseURL
Anfrageadresse
https://api.siliconflow.cn/v1
API-Schlüssel
API-Geheimschlüssel, geben Sie den Schlüssel ein, den Sie gerade erhalten haben.
ChatModelName
Name des Modells
Pro/deepseek-ai/DeepSeek-R1
Token Kontextfenster
(Kontextfenster)
4096
Maximale Wertmarken
(Maximale Anzahl von Token)
4096 oder 8192, je nach Ihrer Situation.
Verwenden Sie die Volcano Ark API:
BaseURL
Anfrageadresse
https://ark.cn-beijing.volces.com/api/v3
API-Schlüssel
API-Geheimschlüssel, geben Sie den Schlüssel ein, den Sie gerade erhalten haben.
ChatModelName
Name des Modells
Hier ist speziell, Vulkan Arche Modellname muss mit Access Point ID gefüllt werden.
Schalten Sie zunächst DeepSeekR1 ein!
Kommen Sie zu Online Reasoning - Zugangspunkte schaffen
Bestätigen Sie den Zugang
Diese ID ist die ID des Zugangspunkts, geben Sie einfach diesen Wert ein.
Token-Kontextfenster
(Kontextfenster)
4096
Maximale Wertmarken
(Maximale Anzahl von Token)
4096 oder 8192, je nach Ihrer Situation.
Wenn Sie die oben genannten Einstellungen vorgenommen haben, tippen Sie bitte aufSaveChanage
Sparen.
Erstellung von Arbeitsbereichen
Der nächste Schritt in diesem Datenschutz-Schnittstelle, ist es, Ihnen zu sagen, wie man Daten zu speichern, wie diese Anweisungen zu verwenden, sowieso, sind alle Sätze von Wörtern, direkt überspringen Sie den nächsten Schritt sein kann
Dieser Schritt ist der Willkommensbildschirm, nichts Besonderes, überspringen Sie ihn einfach!
Es wird empfohlen, einen englischen Namen für den Arbeitsbereich zu verwenden, da er sich als nützlich erweisen wird, wenn Sie ihn später über die API aufrufen möchten.
Jetzt eingeben AnythingLLM
Die Hauptschnittstelle des Spiels ist nun verfügbar. Sie zeigt Ihnen anhand eines Beispieldialogs, wie Sie spielen können
Klicken Sie auf den soeben benannten Arbeitsbereich auf der linken Seite, um ein neues Dialogfenster zu öffnen.
Hier ist ein einfacher Dialog, um zu testen, ob der Modellaufruf erfolgreich war.
Arbeitsbereich einrichten
Klicken Sie auf die Schaltfläche Setup auf der rechten Seite des Arbeitsbereichs, um die Setup-Oberfläche aufzurufen.
Gehen Sie zu den Chat-Einstellungen, wo wir das Modell im Detail anpassen können
Hier können Sie das derzeit verwendete große Modell einstellen. Standardmäßig wird das vom System eingestellte Modell verwendet, das zuvor eingestellt wurdeollama
Andere große lokale Modelle oder API-Dienste sind ebenfalls verfügbar.
Der Modus ist in Chat und Abfrage unterteilt, wobei Abfrage bedeutet, dass Sie nur die Abfragekontextfunktion verwenden (Sie müssen Ihre eigenen hochgeladenen Dokumente haben), Chat bedeutet, dass Sie die Chatfunktion + Abfrage verwenden
Anzahl der Kontexte
Sie können es als ein Persona-Stichwort interpretieren, das in Chinesisch geändert oder als Standard belassen werden kann.
Informationen zur Fütterung
Als nächstes müssen Sie die Wissensdatenbank füttern, klicken Sie auf den Arbeitsbereich nebenSchaltfläche "Hochladen
Zugang zur Schnittstelle Knowledge Base Management
Unterstützt Batch-Uploads, unterstützt Excel, World, txt und andere Dateiformate. Hier habe ich eine Datei hochgeladenKlassifizierung von menschlichen Verletzungen als Invaliditätsgrade.pdf
.
Wählen Sie die Datei aus und klicken Sie aufUmzug in den WorkSpace
Mit diesem Schritt werden Dateien aus dem temporären Bereich dem Arbeitsbereich hinzugefügt.
Sie sehen die hochgeladenen Dateien rechts übertragen, hier klicken Sie auf dasSace und Embed
Retten Sie.
Tipps untenWorkSpace erfolgreich aktualisiert
Zeigt eine erfolgreiche Speicherung an.
Hier müssen Sie aufPin an Arbeitsbereich
Diese Schaltfläche.
Pin an Arbeitsbereich::
Wenn Sie bei der Verwendung von AnythingLLM feststellen, dass Sie standardmäßig keine zufriedenstellenden Antworten erhalten, können Sie die Qualität Ihrer Antworten verbessern, indem Sie Dokumente anheften. Dies ist ein schneller Weg, um die Genauigkeit und Relevanz Ihrer Antworten zu verbessern.
Vereinfacht ausgedrückt ist das Pinning von Dokumenten der Prozess, bei dem der Inhalt eines Dokuments direkt in das Sprachmodell eingespeist wird, so dass es sich bei der Beantwortung einer Frage auf diesen Inhalt beziehen und eine bessere Antwort geben kann.
Dann kehren wir zur Seite "Gespräche" zurück, erstellen ein neues Gespräch, stellen eine Frage und überprüfen, ob die Wissensdatenbank erfolgreich hinzugefügt wurde.
Fehlerbehebung
Sie können sehen, dass DeepSeek die Frage in Verbindung mit den hochgeladenen Informationen beantwortet hat, aber die Antwort enthält Fehler.
Zum Beispiel die erste Frage:
Fragen Sie:
Wie lautet die Note für zwei gebrochene Rippen?
Antwort:
Auf der Grundlage der bereitgestellten Kontextinformationen lauten die Standards für die Klassifizierung von Rippenfrakturen bei Verletzungen des Menschen wie folgt:
Schwere Verletzung Grad 2: Fraktur von mehr als vier Rippen oder von mehr als zwei Rippen mit paradoxer Bewegung;
Leichte Verletzungen ersten Grades: Frakturen der ersten bis dritten Rippe.
Ein Bruch von zwei Rippen wird, wenn er nicht mit einer paradoxen Aktivität oder anderen schwerwiegenden Bedingungen (z. B. mehr als vier) einhergeht, als leichte Verletzung ersten Grades eingestuft. Zwei gebrochene Rippen werden also eingestuft:
leichte Verletzungen (ersten Grades)
In dem hochgeladenen Dokument werden jedoch zwei gebrochene Rippen als leichte Verletzung zweiten Grades eingestuft. Dies ist ein ziemlich schwerwiegender Fehler für eine Bewerbung in der Rechtsberatung.
Es gibt keinen Grund zur Eile, wenn diese Art von Unfähigkeit, Fragen zu beantworten, auftritt, lassen Sie uns der Ursache auf den Grund gehen.
Ich habe mir die hochgeladene PDF-Datei genauer angesehen und festgestellt, dass sie viele Tabellen, spezielle Formatierungen und eine ganze Menge ungenutzter Inhalte enthält. Diese "Verunreinigungen" beeinträchtigen die Fähigkeit der KI, das zu verstehen, was wir ihr eigentlich vermitteln wollen.
Diese unübersichtliche Formatierung kann dazu führen, dass die KI den Überblick über die wichtigsten Punkte verliert, wie bei einem unübersichtlichen Buch. Daher habe ich die wichtigsten Inhalte in einem übersichtlichen Word-Dokument zusammengefasst, den unbrauchbaren Inhalt gelöscht und dann erneut in die KI eingespeist.
Ein Auszug aus dem Inhalt des gesammelten Dokuments:
5.6.4 Leichte Verletzungen zweiten Grades
b) Bruch der Rippen an 2 oder mehr Stellen.
c) Sternumfraktur; Schlüsselbeinfraktur; Scapulafraktur.
d) Verrenkung des Sternoklavikulargelenks; Verrenkung des Akromioklavikulargelenks.
e) Brustkorbverletzung, die zu einem subkutanen Emphysem führt, das sich 1 Woche lang nicht von selbst zurückbildet.
f) Hämatochezie in der Brusthöhle; Pneumothorax.
g) Durchdringendes Trauma der Brustwand.
h) Thoraxkompression mit Anzeichen einer Asphyxie.
5.6.5 Leichte Verletzungen
a) Rippenfrakturen; Rippenknorpelbrüche.
5.7 Abdominalverletzungen
5.7.1 Schwere Verletzungen Grad I
a) Beeinträchtigung der Leberfunktion (schwer).
b) Gastrointestinale Verletzungen, die zu einer schweren Beeinträchtigung der Verdauung und Absorption und zur Abhängigkeit von parenteraler Ernährung führen.
c) Niereninsuffizienz (urämisches Stadium).
Ich habe die Frage erneut gestellt, und dieses Mal war die Antwort viel genauer!
Dies ist nur die einfachste Lösung. Wenn Sie möchten, dass die KI genauer antwortet, können Sie auch versuchen, das Dokumentenformat anzupassen, die Suchmethode zu optimieren, die KI-Parameter anzupassen usw. Aber über diese fortgeschrittenen Möglichkeiten sprechen wir später.
Zugang zu WeChat BOT
Abrufen des geheimen AnythingLLM-Schlüssels
zeigen (eine Eintrittskarte)AnythingLLM
gehen Sie zu Einstellungen - API-Geheimschlüssel - Neuen API-Geheimschlüssel generieren
Verwendung des Integration Packs
Ich habe dieAnythingLLM
Schnittstelle zuNGCBOT
und zu einem integrierten Paket geschnürt.
Entpacken Sie den Weblink in der DateiNGCBOT_LLM.zip
Zip, DoppelklickLauncher.exe
Bereit zum Laufen.
Es gibt drei Dinge, die Sie tun müssen, bevor Sie es benutzen!
Es gibt drei Dinge, die Sie tun müssen, bevor Sie es benutzen!
Es gibt drei Dinge, die Sie tun müssen, bevor Sie es benutzen!
Vergewissern Sie sich zunächst, dass sich im Verzeichnis Ihres Integrationspakets kein Chinesisch befindet; andernfalls tritt ein Fehler auf!
korrekte Darstellung
F:AIAIpackageNGCBot
falsche Demonstration
F:WeChat BOTAIpackageNGCBot
Zweitens: Installieren Sie die angegebene Version von WeChat.
Unter dem Weblink finden Sie eine Microsoft-Version
WeChatSetup-3.9.10.27.exe
Installieren Sie diese Version, hatte der Computer ursprünglich microsoft nicht löschen müssen, direkt die Installation überschreiben.
Drittens: Ändern Sie die NGCBOT-Konfigurationsdatei.
erfordern ein gründliches Verständnis vonConfigConfig.yaml
Die Konfigurationsdatei kann geändert werden.
Es gibt drei Änderungen in der Konfigurationsdatei
1. die Konfiguration des Superadministrators ändern.
Tragen Sie hier die ID des Mikrosignals ein, das Sie eingerichtet haben, und denken Sie daran, sie immer zu ändern! Ansonsten wird alles an mich gesendet ....
Wie erhalte ich diese ID? Verwenden Sie das Mikrosignal, das Sie als Administrator einrichten möchten, senden Sie eine Nachricht an den Bot, und Sie werden die ID der Person, die die Nachricht gesendet hat, in der Konsole sehen.
2 Ändern Sie die Konfiguration der ai-Priorität.
Hier wird die Reihenfolge angegeben, in der die ai-Schnittstellen ausgeführt werden, wobei eine kleinere Zahl vorne Priorität bedeutet. Die Standardeinstellung ist AnythingLLM priority.
3.AllesLLM-Konfiguration.
Hier müssen Sie dieArbeitsbereich
, undAnythingLLMkey
Diese beiden Werte sind völlig in Ordnung.
Arbeitsbereich
Geben Sie den Namen des Arbeitsbereichs ein, den Sie mit AnythingLLM erstellt haben, und zwar in Kleinbuchstaben.
AnythingLLMkey
Geben Sie den geheimen Schlüssel ein, den Sie in AnythingLLM erhalten. Nicht den geheimen Schlüssel von Silicon Flow oder den von Volcano Ark!
Denken Sie daran, den Träger davor zu lassen.
Nachdem Sie die oben genannten Schritte zur Änderung durchgeführt haben, doppelklicken Sie auf die SchaltflächeLauncher.exe
Dann können Sie Spaß haben!
Der Erwerb von Integrationspaketen steht am Ende des Artikels.
Herzlichen Glückwunsch! Jeder, der dies sieht, ist 👍🏻👍🏻
Wenn Sie einfach nur schnell mit Wissensdatenbank-Bots spielen wollen, sehen Sie hier nach.
Für die Kleinen, die tiefer eintauchen wollen, steht Folgendes geschrieben
- Wie man die AnythingLLM-Schnittstelle aufruft
- Wie man die NGCBOT-Funktionalität erweitert
Lesen Sie weiter, wenn Sie interessiert sind
Entwicklung und Ausbau
Schnittstellenaufruf
Dieser Schritt ist für diejenigen geeignet, die ihre Entwicklungsforschung erweitern wollen. Wenn Sie Anfänger sind und das Integrationspaket direkt spielen wollen, überspringen Sie bitte diesen Schritt.
OK, gehen wir ein wenig weiter: Browser-Eingaben[http://localhost:3001/api/docs/](http://localhost:3001/api/docs/)
Rufen Sie die API-Seite auf.
Da die ursprüngliche offizielle API-Dokumentation nicht über das Internet zugänglich ist, wurde sie hier durch einen lokalen Zugang zur API-Dokumentation ersetzt.
Nachdem Sie die Seite mit der API-Beschreibung aufgerufen haben, können Sie sehen, dass es hier verschiedene Schnittstellen gibt. Und es unterstützt das Debugging direkt auf dieser Seite.
Bevor wir mit dem Zugriff beginnen, müssen wir den geheimen Schlüssel autorisieren, indem wir auf die SchaltflächeAutorisieren Sie
.
Fügen Sie den AnythingLLMAPI-Schlüssel in den geöffneten Bildschirm ein, die Autorisierung ist erfolgreich!
Dann gehen Sie hinunter und suchen/v1/arbeitsbereich/{slug}/chat
Diese API
Beschreibung der Parameter
parametrisch | Anweisungen | Hinweis |
---|---|---|
Schnecke | Arbeitsbereich | Chinesische Zeichen, Großbuchstaben und andere Sonderzeichen werden abgelehnt, nur Kleinbuchstaben |
Nachricht | Nachricht | Die Nachricht, die Sie senden möchten |
Modus | Paradigma | Das Schema ist in Chat und Abfrage unterteilt, Abfrage bedeutet, dass nur die Abfragekontextfunktion verwendet wird (Sie müssen Ihre eigenen hochgeladenen Dokumente haben), Chat bedeutet, dass die Chatfunktion verwendet wird |
Beispiel für einen Antrag (Antragstext)
curl --location 'http://localhost:3001/api/v1/workspace/newwork/chat'
--header 'Autorisierung: Bearer 7X26VBD-0824RMG-MD0VV2X-PC02ZJ4'
--header 'Inhalt-Typ: application/json'
--data '{
"message": "Was ist die Note für zwei gebrochene Rippen?" ,
"mode": "chat"
}'
Antworten
{
"id": "488ff13e-0206-4014-bf50-ea2d8e78c1c3",
"type": "textResponse",
"error": null, "chatId": 17, "error": 17
"chatId": 17, "textResponse".
"textResponse":"nOkay, ich muss jetzt die Frage des Benutzers beantworten: "Was ist der Grad für zwei gebrochene Rippen?" Der Benutzer hat diese Frage schon einmal gestellt und ich habe eine Antwort gegeben, aber jetzt stellt er sie erneut und möchte vielleicht eine ausführlichere oder andere Erklärung.nnZunächst überprüfen Sie den Kontext. In dem zur Verfügung gestellten Kontext 0 heißt es im Abschnitt 5.6.4 Geringfügige Verletzung Grad 2 b) Zwei oder mehr Rippenbrüche sind eine geringfügige Verletzung Grad 2. Daher erfüllen zwei gebrochene Rippen dieses Kriterium und sollten als geringfügige Verletzung zweiten Grades eingestuft werden.nnBei dem Benutzer kann es sich um einen Rechtsanwalt, ein Familienmitglied oder die verletzte Person selbst handeln, der/die den Schweregrad der Fraktur zum Zwecke der Bearbeitung von Arbeitnehmerentschädigungen oder anderen damit zusammenhängenden Angelegenheiten wissen möchte. Möglicherweise sind sie mit den Einstufungskriterien nicht vertraut und haben deshalb mehrmals nachgefragt. nnIm Rahmen des Denkprozesses muss ich prüfen, ob es andere relevante Einstufungskriterien gibt, die das Ergebnis beeinflussen könnten. Zum Beispiel, ob es besondere Umstände gibt, wie die Lage der Fraktur, ob sie mit inneren Organschäden einhergeht usw. Diese Faktoren können die Bewertungsskala verändern. In dem zur Verfügung gestellten Kontext werden diese Umstände jedoch nicht erwähnt, so dass die Beurteilung nur auf der Grundlage der gegebenen Informationen erfolgen kann.nn Darüber hinaus möchten die Nutzer vielleicht wissen, wie sie die Anerkennung eines Arbeitsunfalls oder das anschließende Entschädigungsverfahren beantragen können, aber aufgrund der begrenzten verfügbaren Informationen bin ich nicht in der Lage, die spezifischen Schritte anzugeben, aber ich kann vorschlagen, dass sie sich an die Abteilung für Arbeitssicherheit oder eine medizinische Einrichtung wenden, um eine professionelle Anleitung zu erhalten.nn Zusammenfassend lässt sich sagen, dass die beiden gebrochenen Rippen in die Kategorie der Geringfügige Verletzung Grad 2, was eine Schlussfolgerung auf der Grundlage der angegebenen Kriterien ist. Der Benutzer benötigt möglicherweise weiteren rechtlichen oder medizinischen Rat, um die Angelegenheit zu klären.nnnBasierend auf den von Ihnen bereitgestellten Kontextinformationen:nnIn **5.6.4 Geringfügige Verletzung Grad 2** heißt es:n- **b) Rippen, die an mehr als zwei Stellen gebrochen sind**.nnDaher werden **zwei gebrochene Rippen als geringfügige Verletzung Grad 2** eingestuft." ,
"Quellen": [
{
"text": "5.2.4 Geringfügige Verletzung Grad 2 nna) Eine einzelne Wunde oder Narbe im Gesicht mit einer Länge von mehr als 4,5 cm; mehrere Wunden oder Narben mit einer Gesamtlänge von mehr als 6,0 cm.nnb) Penetrierende Wunden an den Wangen mit Hautwunden oder Narben mit einer Länge von mehr als 1,0 cm.nnc) Risswunden in voller Länge an Mund und Lippen mit Hautwunden oder Narben mit einer Länge von mehr als 1,0 cm.nnd) Massive Narbenbildung im Gesicht. A single scar of 3.0 cm² or more or multiple scars of 5.0 cm² or more. nne) Facial patches of fine keloidal scarring or pigmentation abnormalities of 8.0 cm² or more. f) Orbital wall fracture (other than a simple fracture of the medial orbital wall). nng) Eyelid defects. nnh) Mild ectropion of one eyelid. nnni) Drooping of the upper eyelid over the pupil of the eye. nnj) Inadequate closing of the eyelid of the eye. nnj) Inadequate closure of the eyelid of one eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye. nnk) Lacrimal organ injury with tearing on one side. nn1) Auricular incision or scar length of 6.0 cm or more cumulatively. nnm) Auricular disarticulation, defect, or contracture deformity of a cumulative total of 151 TP3T or more of the auricular area on one side of the auricle. nnn) Nasal tip or nasal flange deficiency on one side of the nose. nnno) Comminuted fracture of the nasal bone; bilateral nasal bone fracture; fracture of the nasal bone combined with a fracture of the frontal process of the maxilla; fracture of the nasal bone combined with a fracture of the nasal septum; bilateral nasal bone fracture combined with a fracture of the frontal process of the maxilla. Frakturen der Nasenscheidewand; beidseitige Frakturen des Warzenfortsatzes des Oberkiefers. nnp) Verlust der Zunge. nnq) Verlust von Zähnen oder Fraktur von zwei oder mehr Zähnen. nnr) Erhebliche Verletzung der Ohrspeicheldrüse, der Unterkieferdrüse oder der Unterzungendrüse. nns) Verletzung, die zu Schwierigkeiten beim Öffnen des Mundes bis zum Grad I führt. nnnt) Frakturen der Kiefer (ausgenommen Frakturen des Alveolarfortsatzes und Frakturen des Warzenfortsatzes des Oberkiefers derselben Seite). u) Frakturen des Jochbeins. nnn5.2.5 Geringfügige Verletzungen nnnnnnnnna) Weichteiltrauma im Gesicht. nnb) Gesichtsverletzung mit Narbenbildung oder Pigmentveränderungen. nnc) Hautabschürfung im Gesicht mit einer Fläche von 2,0 cm² oder mehr; Weichteilkontusion im Gesicht; Kratzer im Gesicht von 4,0 cm oder mehr. nnnd) Bruch der inneren Orbitawand. nnne) Augenkontusion; Augentrauma, das das Aussehen des Auges beeinträchtigt. nnf) Ohrmuscheltrauma. nnn) Nasenbeinbruch; Nasenbluten. nnnnnn) Nasenbeinbruch; Nasenbluten. nnnnnna) Nasenbeinbruch; Nasenbluten. h) Frontale Protrusionsfraktur des Oberkiefers. nni) Bruch der Mundschleimhaut; Zungenverletzung. nnj) Verlorene oder fehlende Zähne; Fraktur des Alveolarfortsatzes; mehr als 2 lockere Zähne oder mehr als 1 Zahn dritten Grades. nn5.3 Schwerhörigkeit nn5.3.1 Schwere Verletzung Grad I nna) Beidohriger Hörverlust (≥ 91dB HL). nn5.3.2 Schwere Verletzung Grad II nna) Beidohriger Hörverlust auf einem Ohr (≥ 91dB HL). nnb) Schwerhörigkeit auf einem Ohr (≥81dB HL) und auf dem anderen Ohr (≥41dB HL). nnc) Schwerhörigkeit auf einem Ohr (≥81dB HL) mit ipsilateraler vestibulärer Gleichgewichtsstörung. nnd) Beidseitige Schwerhörigkeit auf beiden Ohren (≥61dB HL). nnne) Verlust des bilateralen vestibulären Gleichgewichts mit Schwierigkeiten beim Öffnen der Augen zum Gehen und der Unfähigkeit, nebeneinander zu stehen. nn5.3.2 Schwere Verletzung Grad 2 nn5.3.3 Geringfügige Verletzung Grad I nna) Beidseitiger Hörverlust (≥41 dB HL). nnb) Beidseitige Atresie. nn5.3.4 Geringfügige Verletzung Grad II nna) Traumatische Perforation des Trommelfells, die nicht innerhalb von 6 Wochen von selbst geheilt ist. b.... .Fortsetzung im Quelldokument..." ,
"id": "210f98f0-d656-4c0f-b3d5-d617f6398eca",
"url": "file://C:\Users\XX\AppData\Roaming\anythingllm-desktop\storage\hotdir\New DOCX Document.docx", "title": "New DOCX Document.
"title": "Neues DOCX-Dokument.docx", "title": "Neues DOCX-Dokument.docx",
"docAuthor": "kein Autor gefunden", "description": "Keine Beschreibung gefunden".
"description": "Keine Beschreibung gefunden", "docAuthor": "kein Autor gefunden", "docAuthor": "kein Autor gefunden", "description": "Keine Beschreibung gefunden.
docSource": "pdf-Datei vom Benutzer hochgeladen", "chunkSource": "pdf-Datei vom Benutzer hochgeladen".
"chunkSource": "localfile://C:\Users\XX\Desktop\New DOCX document.docx", "published": "2025/2000", "description": "No description found.", "docSource": "pdf file uploaded by the user.", "docSource": "pdf file uploaded by the user.
"published": "2025/2/7 13:00:52",
"wordCount": 126, "token_count_estimate".
"token_count_estimate": 3870
}
],.
"metrics": {
"prompt_tokens": 431, "completion_tokens": 326, {
"total_tokens": 757, "outputTps": 63.1782573643,
"outputTps": 63.178294573643406, "duration": 5.16.5
"Dauer": 5.16
}
}
Auf diese Weise haben wir den Test des Aufrufs der AnythingLLM-Schnittstelle abgeschlossen. Anhand dieser Schnittstelle können Sie Ihre eigene Geschäftslogik implementieren. Im Folgenden kombinieren wir den WeChat BOT, um den Wissensbasis-Roboter zu implementieren.
NGC-Änderungen
Die NGCBOT-Projekte müssen inApiServerAiServerAiDialogue.py
Hinzufügen eines Aufrufs zum SkriptAnythingLLM
Die Logik der
Hier setze ich einfach den Code ein.
def getAnythingLLM(self, content, messages). """ Lokales AnythingLLM-Modell :param content: Inhalt der Konversation :param messages: Liste der Nachrichten :return. """ op(f'[*]: Lokale AnythingLLM-Dialogschnittstelle wird aufgerufen... ...') messages.append({"Rolle": "Benutzer", "Inhalt": f'{Inhalt}'}) Daten = { "model": self.anythingLLMConfig.get('anythingllmModel'), "message": content } headers = { "Content-Type": "application/json", "Authorisation": self.anythingLLMConfig.get('anythingllmModel', "message": content } "Autorisierung": self.anythingLLMConfig.get('anythingllmKey') } try. resp = requests.post( url=self.anythingLLMConfig.get('anythingllmApi').format(workspace=self.anythingLLMConfig.get('workspace')), headers=headers, json=data, timeout=300 ) resp.encoding = 'utf-8' json_data = resp.json() assistant_content = json_data['textResponse'] if "" in assistant_content: assistant_content = assistant_content.split("")[1].strip() messages.append({"role": "assistant", "content": f"{assistant_content}"}) if len(messages) == 21. del messages[1] del messages[1]: del messages[1]: f"{Assistent_Inhalt}"} return assistant_content, nachrichten except Exception as e. op(f'[-]: Fehler in der lokalen AnythingLLM-Dialogschnittstelle, Fehlermeldung: {e}') return None, [{"Rolle": "System", "Inhalt": f'{self.systemAiRole}'}]
Fügen Sie dieanythingLLMConfig
self.anythingLLMConfig = { 'anythingllmApi': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmApi'], 'anythingllmKey': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmKey'], anythingllmModel': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmModel'], 'workspace': configData['apiServer']['aiConfig']['AnythingLLM']['workspace'] }
Erwerb des Integrationspakets
Tootsie Labs - Windowns Edition
Quark:
https://pan.quark.cn/s/8d1293227cf9
Baidu.
https://pan.baidu.com/s/1wx8LmbY2XBaJAAJvmGK06g?pwd=8d5m