Allgemeine Einführung
LongWriter ist ein leistungsfähiges Werkzeug zur Erzeugung langer Texte, das von der Tsinghua University Data Mining Research Group (THUDM) entwickelt wurde. Das Tool basiert auf dem fortschrittlichen Long Contextual Language Model (LLM) und ist in der Lage, lange Texte mit mehr als 10.000 Wörtern zu generieren. Zu den Kernmodellen von LongWriter gehören LongWriter-glm4-9b und LongWriter-llama3.1-8b, die auf dem GLM-4-9B bzw. Meta-Llama-3.1-8B Training basieren. . Diese Modelle erbringen gute Leistungen bei der Generierung langer Texte und eignen sich für verschiedene Anwendungsszenarien, die die Generierung umfangreicher Texte erfordern, wie z. B. die Erstellung von Romanen, akademischen Arbeiten und ausführlichen Berichten usw. LongWriter ist nicht nur quelloffen, sondern bietet auch eine ausführliche Anleitung für den Einsatz und die Verwendung, um den Benutzern den schnellen Einstieg zu erleichtern.
Funktionsliste
- Erzeugung von LangtextUnterstützung bei der Erstellung von Langtexten mit mehr als 10.000 Wörtern für eine Vielzahl von Anwendungsszenarien.
- Unterstützung mehrerer ModelleZwei Modelle auf der Grundlage von GLM-4-9B und Meta-Llama-3.1-8B stehen zur Verfügung, und die Benutzer können je nach Bedarf wählen.
- Schneller EinsatzDetaillierte Implementierungsanleitungen und Beispielcode zur Unterstützung einer schnellen Implementierung und Nutzung.
- offene QuelleAlle Codes und Modelle sind Open Source und können von den Nutzern frei heruntergeladen und verändert werden.
- Automatisierte DatenkonstruktionAgentWrite: Bereitstellung von AgentWrite-Tools zur Unterstützung der automatisierten Erstellung ultralanger Ausgabedaten.
Hilfe verwenden
Installation und Einsatz
- Vorbereitung der UmweltPython: Stellen Sie sicher, dass Python 3.8 oder höher installiert ist und installieren Sie die notwendigen Bibliotheken, z.B. transformers>=4.43.0.
- Modelle herunterladenLaden Sie die erforderlichen Modelle von Hugging Face herunter, z. B. LongWriter-glm4-9b oder LongWriter-llama3.1-8b.
- Installation von Abhängigkeiten: Führen Sie den folgenden Befehl aus, um die erforderlichen Python-Pakete zu installieren:
pip install transformers torch
- Modelle laden: Verwenden Sie den folgenden Code, um das Modell zu laden und die Inferenz durchzuführen:
from transformers import AutoTokenizer, AutoModelForCausalLM
importieren torch
tokenizer = AutoTokenizer.from_pretrained("THUDM/LongWriter-glm4-9b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("THUDM/LongWriter-glm4-9b", torch_dtype=torch.bfloat16, trust_remote_code=True, device_map = "auto")
model = model.eval()
query = "Schreibe einen China-Reiseführer mit 10000 Wörtern"
response, history = model.chat(tokeniser, query, history=[], max_new_tokens=32768, temperature=0.5)
print(Antwort)
Verwendung des Tools AgentWrite
- Konfigurieren des API-Schlüssels: in
plan.py
im Gesang antwortenschreiben.py
Datei, um Ihren API-Schlüssel zu konfigurieren. - Operative Daten Konstruktion: Führen Sie die folgenden Befehle nacheinander aus, um die endgültigen Daten zu erzeugen:
python plan.py
python write.py
Hauptfunktionen
- Erzeugung von LangtextGeben Sie das Thema des zu erstellenden Textes ein, und das Modell wird auf der Grundlage der Eingabe Langtexte mit mehr als 10.000 Wörtern erstellen.
- ModellauswahlWählen Sie das entsprechende Modell (z. B. LongWriter-glm4-9b oder LongWriter-llama3.1-8b) je nach den spezifischen Anforderungen.
- ParametrisierungOptimierung der Generierung durch Anpassung der Generierungsparameter (z. B. Temperatur, maximale Anzahl neuer Wörter usw.).
Ausführliche Betriebsanleitung
- TextgenerierungGeben Sie ein Thema oder ein Aufforderungswort in das Eingabefeld ein, klicken Sie auf die Schaltfläche Generieren, und das Modell generiert automatisch einen Langtext.
- ModellschulungHerunterladen und Trainieren des Modells mit einer Mischung aus dem LongWriter-6k-Datensatz und anderen SFT-Daten unter Verwendung des mitgelieferten Trainingscodes.
- Beispiel für den Einsatz: Referenz
vllm_inference.py
Code in die Datei ein, um eine schnelle Bereitstellung und eine ultralange Texterstellung zu ermöglichen.