项目实战:用glm-edge-4b-chat构建一个智能会议纪要生成器,只需100行代码!
项目构想:我们要做什么?
在日常工作中,会议是信息交流和决策的重要场景,但会议纪要的整理往往耗时耗力。本项目旨在利用glm-edge-4b-chat模型,构建一个智能会议纪要生成器,能够自动将会议录音或文字记录转换为结构化的会议纪要。
输入与输出
- 输入:一段会议录音(需转换为文字)或直接输入会议文字记录。
- 输出:结构化的会议纪要,包括会议主题、讨论要点、决策事项和待办任务。
技术选型:为什么是glm-edge-4b-chat?
glm-edge-4b-chat是一个基于Transformer架构的开源对话模型,具有以下核心亮点,非常适合本项目:
- 强大的文本生成能力:模型擅长处理文本生成任务,能够根据输入内容生成连贯、有逻辑的文本。
- 高效的上下文理解:支持多轮对话,能够理解会议讨论的上下文关系。
- 轻量化与高性能:模型体积适中,推理速度快,适合实时应用场景。
结合这些特性,glm-edge-4b-chat能够高效地将会议内容转换为结构化的纪要,节省人工整理时间。
核心实现逻辑
1. 调用模型
使用transformers库加载glm-edge-4b-chat模型,并通过对话模板调用模型生成文本。
2. 设计Prompt
为了让模型生成结构化的会议纪要,我们需要设计一个清晰的Prompt,引导模型完成任务。例如:
请根据以下会议记录生成一份结构化的会议纪要,包括会议主题、讨论要点、决策事项和待办任务:
会议记录:{输入文本}
3. 后处理
对模型生成的文本进行后处理,提取关键信息并格式化输出。
代码全览与讲解
以下是完整的项目代码,关键部分已添加详细注释:
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和分词器
MODEL_PATH = "glm-edge-4b-chat"
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
model = AutoModelForCausalLM.from_pretrained(MODEL_PATH, device_map="auto")
def generate_meeting_summary(meeting_text):
# 设计Prompt
prompt = f"""
请根据以下会议记录生成一份结构化的会议纪要,包括会议主题、讨论要点、决策事项和待办任务:
会议记录:{meeting_text}
"""
# 构造对话消息
message = [{"role": "user", "content": prompt}]
# 调用模型生成文本
inputs = tokenizer.apply_chat_template(
message,
return_tensors="pt",
add_generation_prompt=True,
return_dict=True,
).to(model.device)
generate_kwargs = {
"input_ids": inputs["input_ids"],
"attention_mask": inputs["attention_mask"],
"max_new_tokens": 256,
"do_sample": False,
}
out = model.generate(**generate_kwargs)
summary = tokenizer.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
return summary
# 示例输入
meeting_text = """
今天会议讨论了项目进度,开发团队表示后端API已完成80%,前端还需一周时间。
市场部提出需要更多宣传材料,决定下周由设计团队提供初稿。
待办:开发团队完成API测试,市场部准备宣传计划。
"""
# 生成会议纪要
summary = generate_meeting_summary(meeting_text)
print("生成的会议纪要:\n", summary)
代码讲解
- 模型加载:使用
AutoModelForCausalLM和AutoTokenizer加载预训练模型和分词器。 - Prompt设计:通过拼接输入文本和任务描述,构造清晰的Prompt。
- 模型调用:使用
apply_chat_template方法处理对话消息,调用generate方法生成文本。 - 结果输出:解码生成的文本并返回。
效果展示与功能扩展
效果展示
输入示例会议记录后,生成的会议纪要如下:
会议主题:项目进度讨论
讨论要点:
- 后端API已完成80%。
- 前端还需一周时间完成。
- 市场部需要更多宣传材料。
决策事项:
- 设计团队下周提供宣传材料初稿。
待办任务:
- 开发团队完成API测试。
- 市场部准备宣传计划。
功能扩展
- 支持语音输入:结合语音识别API,实现从录音直接生成会议纪要。
- 多语言支持:扩展模型支持的语言,满足国际化需求。
- 自定义模板:允许用户自定义纪要模板,适应不同场景需求。
通过这个项目,你可以快速体验glm-edge-4b-chat的强大能力,并在此基础上探索更多有趣的应用场景!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



