General Introduction
LongWriter是由清华大学数据挖掘研究组(THUDM)开发的一款强大的长文本生成工具。该工具基于先进的长上下文语言模型(LLM),能够生成超过10000字的长文本。LongWriter的核心模型包括LongWriter-glm4-9b和LongWriter-llama3.1-8b,分别基于GLM-4-9B和Meta-Llama-3.1-8B训练。这些模型在生成长文本时表现出色,适用于各种需要生成大段文字的应用场景,如小说创作、学术论文撰写和详细报告生成等。LongWriter不仅开源,还提供了详细的部署和使用指南,方便用户快速上手。
Function List
- 长文本生成:支持生成超过10000字的长文本,适用于多种应用场景。
- Multi-model support:提供基于GLM-4-9B和Meta-Llama-3.1-8B的两种模型,用户可根据需求选择。
- Rapid deployment:提供详细的部署指南和示例代码,支持快速部署和使用。
- open source:所有代码和模型均开源,用户可以自由下载和修改。
- 自动化数据构建:提供AgentWrite工具,支持自动化超长输出数据构建。
Using Help
Installation and deployment
- environmental preparation:确保安装了Python 3.8或以上版本,并安装必要的依赖库,如transformers>=4.43.0。
- Download model:从Hugging Face下载所需的模型,如LongWriter-glm4-9b或LongWriter-llama3.1-8b。
- Installation of dependencies:运行以下命令安装所需的Python包:
pip install transformers torch
- Loading Models:使用以下代码加载模型并进行推理:
from transformers import AutoTokenizer, AutoModelForCausalLM
import 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 = "Write a 10000-word China travel guide"
response, history = model.chat(tokenizer, query, history=[], max_new_tokens=32768, temperature=0.5)
print(response)
使用AgentWrite工具
- Configuring the API Key: in
plan.py
cap (a poem)write.py
文件中配置您的API密钥。 - 运行数据构建:依次运行以下命令生成最终数据:
python plan.py
python write.py
Main function operation flow
- 长文本生成:输入需要生成的文本主题,模型将根据输入生成超过10000字的长文本。
- Model Selection:根据具体需求选择合适的模型(如LongWriter-glm4-9b或LongWriter-llama3.1-8b)。
- parameterization:通过调整生成参数(如温度、最大新词数等)来优化生成效果。
Detailed operating instructions
- Text Generation:在输入框中输入主题或提示词,点击生成按钮,模型将自动生成长文本。
- model training:下载并混合使用LongWriter-6k数据集和其他SFT数据,按照提供的训练代码进行模型训练。
- 部署示例:参考
vllm_inference.py
文件中的代码,快速部署并体验超长文本生成。