项目实战:用Qwen3-4B-FP8构建一个智能会议纪要生成器,只需100行代码!
【免费下载链接】Qwen3-4B-FP8 项目地址: https://gitcode.com/hf_mirrors/Qwen/Qwen3-4B-FP8
项目构想:我们要做什么?
在现代职场中,会议是日常工作的重要组成部分,但整理会议纪要却是一项耗时且繁琐的任务。本项目旨在利用Qwen3-4B-FP8的强大能力,构建一个智能会议纪要生成器,能够自动将会议录音或文字记录转换为结构化的会议纪要。
功能描述
- 输入:一段会议录音的文字记录(或直接输入会议对话文本)。
- 输出:结构化的会议纪要,包括会议主题、关键讨论点、决策事项和待办任务。
核心亮点
- 自动化:无需人工干预,自动生成高质量的会议纪要。
- 结构化输出:将会议内容分类为清晰的模块,便于后续查阅。
- 多语言支持:支持中英文会议记录的生成。
技术选型:为什么是Qwen3-4B-FP8?
Qwen3-4B-FP8是一款功能强大的开源大语言模型,具有以下核心亮点,非常适合实现本项目:
-
无缝切换思维模式:
- 在思维模式下,模型能够进行复杂的逻辑推理和内容归纳,非常适合从会议记录中提取关键信息。
- 在非思维模式下,模型可以高效生成流畅的文本,确保会议纪要的连贯性。
-
强大的推理能力:
- 模型在数学、代码生成和常识逻辑推理方面表现优异,能够准确识别会议中的关键讨论点和决策事项。
-
多语言支持:
- 支持100多种语言,可以轻松处理中英文会议记录。
-
FP8量化:
- FP8量化后的模型在保持高性能的同时,显著降低了计算资源需求,适合本地部署。
核心实现逻辑
1. 调用Qwen3-4B-FP8模型
使用transformers库加载模型,并通过apply_chat_template方法设置输入格式。通过enable_thinking=True启用思维模式,让模型更好地理解和归纳会议内容。
2. 设计Prompt
为了让模型生成结构化的会议纪要,我们需要设计一个清晰的Prompt,明确指示模型完成以下任务:
- 提取会议主题。
- 归纳关键讨论点。
- 列出决策事项。
- 生成待办任务。
示例Prompt:
请根据以下会议记录生成一份结构化的会议纪要:
1. 会议主题是什么?
2. 关键讨论点有哪些?
3. 做出了哪些决策?
4. 有哪些待办任务?
会议记录:{输入文本}
3. 解析输出
模型的输出会包含思维内容(<think>...</think>)和最终回答。我们需要提取最终回答部分,并将其格式化为结构化的会议纪要。
代码全览与讲解
以下是完整的项目代码,关键部分添加了详细注释:
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和分词器
model_name = "Qwen/Qwen3-4B-FP8"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
def generate_meeting_summary(meeting_text):
# 设计Prompt
prompt = f"""
请根据以下会议记录生成一份结构化的会议纪要:
1. 会议主题是什么?
2. 关键讨论点有哪些?
3. 做出了哪些决策?
4. 有哪些待办任务?
会议记录:{meeting_text}
"""
# 准备模型输入
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True # 启用思维模式
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# 生成文本
generated_ids = model.generate(
**model_inputs,
max_new_tokens=1024,
temperature=0.6,
top_p=0.95,
top_k=20
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
# 解析输出
try:
index = len(output_ids) - output_ids[::-1].index(151668) # 查找</think>标记
except ValueError:
index = 0
content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")
return content
# 示例会议记录
meeting_text = """
今天会议讨论了新产品的发布计划。市场部建议在6月1日上线,技术部表示需要更多测试时间。最终决定将上线日期推迟到6月15日。待办任务包括:市场部准备宣传材料,技术部完成最终测试。
"""
# 生成会议纪要
summary = generate_meeting_summary(meeting_text)
print("会议纪要:\n", summary)
代码讲解
- 模型加载:使用
AutoModelForCausalLM和AutoTokenizer加载Qwen3-4B-FP8模型。 - Prompt设计:通过清晰的Prompt指导模型生成结构化的会议纪要。
- 思维模式:通过
enable_thinking=True启用思维模式,提升模型的理解能力。 - 生成参数:设置
temperature=0.6和top_p=0.95,确保生成的文本既多样又准确。
效果展示与功能扩展
效果展示
输入示例会议记录后,生成的会议纪要如下:
会议纪要:
1. 会议主题:新产品的发布计划。
2. 关键讨论点:
- 市场部建议在6月1日上线。
- 技术部表示需要更多测试时间。
3. 决策事项:
- 将上线日期推迟到6月15日。
4. 待办任务:
- 市场部准备宣传材料。
- 技术部完成最终测试。
功能扩展
- 支持语音输入:结合语音识别API(如Whisper),实现从会议录音直接生成纪要。
- 多语言支持:扩展支持更多语言的会议记录。
- 自定义模板:允许用户自定义会议纪要的模板,满足不同场景需求。
【免费下载链接】Qwen3-4B-FP8 项目地址: https://gitcode.com/hf_mirrors/Qwen/Qwen3-4B-FP8
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



