项目实战:用ERNIE-4.5-21B-A3B-Paddle构建一个智能会议纪要生成器,只需100行代码!
项目构想:我们要做什么?
在现代工作中,会议是信息传递和决策制定的重要环节,但冗长的会议内容往往让人难以快速抓住重点。为了解决这一问题,我们设计了一个智能会议纪要生成器,它能够自动将会议录音或文字记录转化为结构化的会议纪要,提取关键信息(如议题、决策、待办事项等),并生成简洁的总结。
输入与输出
- 输入:会议的录音文件(需转换为文字)或直接输入会议文字记录。
- 输出:结构化的会议纪要,包括以下内容:
- 会议主题
- 关键议题
- 决策点
- 待办事项(负责人和截止时间)
- 会议总结
技术选型:为什么是ERNIE-4.5-21B-A3B-Paddle?
ERNIE-4.5-21B-A3B-Paddle是一款基于PaddlePaddle框架的大型语言模型,具有以下核心亮点,非常适合实现智能会议纪要生成器:
- 强大的文本生成能力:ERNIE-4.5支持长文本生成(128k上下文),能够处理复杂的会议记录并生成连贯的总结。
- 多任务支持:模型擅长文本摘要、信息提取和结构化生成,能够从会议记录中提取关键信息并生成结构化输出。
- 高效的推理性能:通过FastDeploy框架,模型可以在单卡(80G显存)上高效运行,满足实时生成需求。
核心实现逻辑
1. 调用ERNIE-4.5-21B-A3B-Paddle模型
我们使用transformers库加载模型,并通过设计合理的Prompt引导模型完成会议纪要生成任务。
2. Prompt设计
为了让模型更好地理解任务,我们设计了一个多轮对话式的Prompt模板:
prompt = """
你是一个专业的会议纪要生成助手。请根据以下会议记录,提取关键信息并生成结构化的会议纪要:
会议记录:
{meeting_text}
请按照以下格式输出:
1. 会议主题:
2. 关键议题:
- 议题1
- 议题2
3. 决策点:
- 决策1
- 决策2
4. 待办事项:
- 任务1(负责人:XXX,截止时间:YYYY-MM-DD)
- 任务2(负责人:XXX,截止时间:YYYY-MM-DD)
5. 会议总结:
"""
3. 代码逻辑
- 加载模型和分词器。
- 将会议记录插入Prompt模板。
- 调用模型生成会议纪要。
- 解析并输出结果。
代码全览与讲解
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和分词器
model_name = "baidu/ERNIE-4.5-21B-A3B-Paddle"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)
# 会议记录示例
meeting_text = """
今天会议讨论了项目A的进展。开发团队表示后端功能已完成80%,前端还需两周时间。测试团队建议下周开始集成测试。最终决定:后端本周内完成,前端下周五前交付,集成测试从下周一启动。负责人:张三(后端)、李四(前端)、王五(测试)。
"""
# 设计Prompt
prompt = f"""
你是一个专业的会议纪要生成助手。请根据以下会议记录,提取关键信息并生成结构化的会议纪要:
会议记录:
{meeting_text}
请按照以下格式输出:
1. 会议主题:
2. 关键议题:
- 议题1
- 议题2
3. 决策点:
- 决策1
- 决策2
4. 待办事项:
- 任务1(负责人:XXX,截止时间:YYYY-MM-DD)
- 任务2(负责人:XXX,截止时间:YYYY-MM-DD)
5. 会议总结:
"""
# 生成会议纪要
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=500)
generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)
# 提取生成的会议纪要部分
meeting_summary = generated_text.split("5. 会议总结:")[-1].strip()
print(meeting_summary)
代码讲解
- 模型加载:使用
AutoModelForCausalLM和AutoTokenizer加载预训练模型和分词器。 - Prompt设计:通过多轮对话模板引导模型生成结构化输出。
- 文本生成:调用
model.generate生成会议纪要。 - 结果提取:从生成的文本中提取会议纪要部分。
效果展示与功能扩展
效果展示
输入会议记录后,模型生成的会议纪要如下:
1. 会议主题:项目A进展讨论
2. 关键议题:
- 后端功能完成80%
- 前端还需两周时间
3. 决策点:
- 后端本周内完成
- 前端下周五前交付
- 集成测试从下周一启动
4. 待办事项:
- 任务1(负责人:张三,截止时间:本周内)
- 任务2(负责人:李四,截止时间:下周五)
- 任务3(负责人:王五,截止时间:下周一)
5. 会议总结:项目A进展顺利,后端和前端按计划推进,集成测试即将开始。
功能扩展
- 多语言支持:通过调整Prompt,支持生成其他语言的会议纪要。
- 语音输入:结合语音识别API,直接从录音生成文字记录。
- 自动化集成:将工具集成到会议软件中,实现一键生成纪要。
通过这个项目,我们展示了如何利用ERNIE-4.5-21B-A3B-Paddle快速构建一个实用的智能工具,帮助用户高效处理会议信息。希望这个案例能激发你更多的创意!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



