EduChat ist ein Open-Source-Dialogmodell für den Bildungsbereich, das vom ICALK-Team der East China Normal University entwickelt wurde. Es konzentriert sich auf Bildungsszenarien, unterstützt sowohl englische als auch chinesische Dialoge und zielt darauf ab, intelligente Dialogwerkzeuge für Studenten, Lehrer und Forscher bereitzustellen. Das Modell basiert auf Open-Source-Frameworks wie LLaMA und Qwen, wurde durch eine große Menge an Daten aus dem Bildungsbereich verfeinert und ist in der Lage, allgemeine Dialoge, psychologische Beratungen und sokratische Lehrdialoge zu handhaben.EduChat unterstützt den Einsatz von GPUs, wodurch es sich für die Bildungsforschung und den tatsächlichen Unterricht eignet. Es bietet auch ein Datenbereinigungstool, CleanTool, um den Benutzern bei der Optimierung der Trainingsdaten zu helfen. Das Projekt ist auf GitHub als Open-Source-Projekt verfügbar und hat mit 748 Sternen (Stand: 2024) bereits eine große Verbreitung gefunden.
Funktionsliste
- Unterstützt pädagogische Dialoge in Englisch und Chinesisch, geeignet für den Unterricht, akademische Diskussionen und psychologische Beratung.
- Es sind mehrere Modellgrößen erhältlich, darunter die Parameter 1.8B, 7B, 13B und 14B.
- Unterstützt den sokratischen Dialog, um die Nutzer zum Nachdenken zu bewegen.
- Er bietet einen Dialog über psychologische Themen an, empfiehlt einschlägige Bücher oder bietet emotionale Unterstützung.
- Open-Source-Datenbereinigungstool CleanTool zur Optimierung von Trainingsdatensätzen.
- Unterstützt GPU-beschleunigte Bereitstellungen und ist mit Hardware wie A100/A800 kompatibel.
- Für Entwickler wird ein Beispielcode bereitgestellt, um das Modell schnell aufrufen zu können.
Hilfe verwenden
Installation und Einsatz
EduChat ist ein Open-Source-Projekt, das über GitHub heruntergeladen und lokal installiert werden muss. Hier sind die detaillierten Installationsschritte:
- Vorbereitung der Umwelt
Stellen Sie sicher, dass Python 3.8+ und PyTorch auf Ihrem System installiert sind. Eine GPU-Umgebung (z. B. NVIDIA A100/A800) wird empfohlen, um FP16-Präzisionsoperationen zu unterstützen, die etwa 15 GB Videospeicher erfordern. Installieren Sie die erforderlichen Bibliotheksabhängigkeiten:pip install torch transformers
- Modelle herunterladen
Zugriff auf GitHub-Repositorieshttps://github.com/ECNU-ICALK/EduChat
klonen Sie das Projekt lokal:git clone https://github.com/ECNU-ICALK/EduChat.git
Die Modelldateien sollten von Hugging Face heruntergeladen werden. Empfohlen
educhat-sft-002-7b
Modell für den Betrieb einer einzelnen GPU-Karte. Befehl zum Herunterladen:huggingface-cli download ecnu-icalk/educhat-sft-002-7b
- Modelle laden
Laden Sie das Modell mit Hilfe des mitgelieferten Beispielcodes. Die folgenden Aufrufe an dieeduchat-sft-002-7b
Python-Code:from transformers import LlamaForCausalLM, LlamaTokenizer tokenizer = LlamaTokenizer.from_pretrained("ecnu-icalk/educhat-sft-002-7b") model = LlamaForCausalLM.from_pretrained("ecnu-icalk/educhat-sft-002-7b", torch_dtype=torch.float16).half().cuda() model = model.eval()
- Schaffung eines Dialogs
Konfigurieren Sie einen Systemprompt, der die Rollen und Fähigkeiten von EduChat definiert. Zum Beispiel:system_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Disable. 对话主题 - General: Enable. - Psychology: Disable. - Socrates: Disable.</s>" query = system_prompt + "<|prompter|>你好</s><|assistant|>" inputs = tokenizer(query, return_tensors="pt", padding=True).to(0) outputs = model.generate(**inputs, do_sample=True, temperature=0.7, top_p=0.8, repetition_penalty=1.02, max_new_tokens=256) response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True) print(response)
Beispielhafte Ausgabe:
你好!我是EduChat,有什么我可以帮助你的吗?
- Featured Function Bedienung
- Psychologischer DialogWenn das Thema Psychologie aktiviert ist, kann EduChat Psychologiebücher empfehlen oder emotionale Unterstützung bieten. Geben Sie zum Beispiel ein: "Empfehlen Sie mir ein paar Bücher zum Thema Psychologie" und das Modell wird zurückgegeben:
当然,以下是一些关于心理学的经典书籍: 1.《人性的弱点》(Dale Carnegie):介绍人际关系技巧,帮助建立良好沟通。 2.《心理学与生活》(Richard J. Gerrig):全面介绍心理学基础知识,适合初学者。
Dialog über Konfigurationspsychologie:
system_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Enable. 对话主题 - General: Disable. - Psychology: Enable. - Socrates: Disable.</s>"
- Sokratischer DialogFührt den Benutzer durch Fragen zu tieferem Denken, geeignet für Unterrichtsszenarien. Ermöglichende Methoden:
system_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Disable. 对话主题 - General: Disable. - Psychology: Disable. - Socrates: Enable.</s>"
Eingabebeispiel: "Was ist Fairness?" Das Modell lenkt das Denken des Nutzers durch rhetorische Fragen wie: "Was ist Ihrer Meinung nach der Kern von Fairness? Ist es das gleiche Ergebnis oder Chancengleichheit?"
- Datenbereinigungstools CleanToolCleanTool: Für die Optimierung von Trainingsdaten, mit Unterstützung für Deduplizierung und Filterung von Daten geringer Qualität. CleanTool ausführen:
python clean_tool.py --input data.json --output cleaned_data.json --gpu True
- Psychologischer DialogWenn das Thema Psychologie aktiviert ist, kann EduChat Psychologiebücher empfehlen oder emotionale Unterstützung bieten. Geben Sie zum Beispiel ein: "Empfehlen Sie mir ein paar Bücher zum Thema Psychologie" und das Modell wird zurückgegeben:
- Interne Testanwendung
Wenn Sie Zugang zu den neuesten Modellen oder Daten benötigen, können Sie eine E-Mail senden andan_yh@stu.ecnu.edu.cn
Der Titel der E-Mail sollte "EduChat internal test application + unit" lauten, und die E-Mail sollte den Zweck angeben.
Vorsichtsmaßnahmen für die Verwendung
- Vergewissern Sie sich, dass Sie über genügend GPU-Speicher verfügen. 7B-Modelle benötigen etwa 15 GB Speicher, 13B-Modelle benötigen mehr.
- Die Modelle unterstützen keine vernetzte Echtzeitsuche und erfordern lokal konfigurierte Daten.
- Prüfen Sie das GitHub-Repository regelmäßig auf Aktualisierungen für die neuesten Modelle und Dokumentationen.
Anwendungsszenario
- Lehrmittel für den Unterricht
Die Lehrkräfte nutzen die EduChat-Funktion "Sokratischer Dialog", um die Schülerinnen und Schüler bei der Vertiefung von Themen anzuleiten. Geben Sie zum Beispiel in einer Philosophiestunde ein: "Was ist Wahrheit?", und das Modell hilft den Schülern, das Konzept durch Fragen zu analysieren. - Unterstützung durch psychologische Beratung
Studenten oder Forscher erhalten emotionale Unterstützung oder Buchempfehlungen über die Funktion "Psychologie-Dialog", die sich für die Ausbildung im Bereich der psychischen Gesundheit oder für Forschungsszenarien eignet. - Bildungsdatenforschung
Forscher verwenden CleanTool, um Datensätze aus dem Bildungsbereich zu bereinigen und die Qualität des Modelltrainings für die akademische Forschung zu verbessern. - AI-Entwicklungstests
Entwickler nutzen den offenen Quellcode von EduChat, um schnell pädagogische Dialogsysteme zu erstellen und die Dialoggenerierung zu testen.
QA
- Welche Sprachen werden von EduChat unterstützt?
EduChat unterstützt sowohl englische als auch chinesische Dialoge, und die Trainingsdaten enthalten etwa 4 Millionen Befehle und Dialoge in Englisch und Chinesisch, was für mehrsprachige Bildungsszenarien geeignet ist. - Wie wählt man die richtige Modellversion aus?
Die Modelle 1,8B und 7B eignen sich für Geräte mit geringer Rechenleistung, während die Modelle 13B und 14B für leistungsstarke, aber ressourcenintensive GPUs geeignet sind. - Muss ich mit dem Internet verbunden sein, um es nutzen zu können?
Nein. EduChat ist ein lokal eingesetztes Modell, bei dem die Websuchfunktion deaktiviert ist, und die Modelle und Daten müssen im Voraus heruntergeladen werden. - Wie kann ich mich an der Projektentwicklung beteiligen?
Sie können Themen oder Pull-Requests im GitHub-Repository einreichen, um an der Modelloptimierung oder der Entwicklung von Funktionen teilzunehmen.