项目实战:用ERNIE-4.5-0.3B-PT构建一个智能会议纪要生成器,只需100行代码!
项目构想:我们要做什么?
在现代职场中,会议是沟通和决策的重要方式,但冗长的会议内容往往让人难以快速抓住重点。为了解决这一问题,我们设计了一个智能会议纪要生成器。这个小应用的功能如下:
- 输入:一段会议录音的文字转录(或直接输入会议讨论的文字内容)。
- 输出:一份结构化的会议纪要,包括会议主题、关键讨论点、决策事项和待办任务。
通过ERNIE-4.5-0.3B-PT的强大文本生成能力,我们可以将散乱的会议内容自动整理成清晰、简洁的会议纪要,大大提升工作效率。
技术选型:为什么是ERNIE-4.5-0.3B-PT?
ERNIE-4.5-0.3B-PT是一款基于文本生成任务优化的开源模型,其核心亮点非常适合我们的项目需求:
- 强大的文本生成能力:模型支持长文本生成(128k上下文),能够处理会议记录中的复杂内容,并生成连贯的摘要。
- 高效的任务适配性:通过简单的Prompt设计,模型可以快速适配会议纪要生成任务,无需复杂的微调。
- 轻量级部署:0.36B的参数量在保证性能的同时,降低了部署和运行的门槛。
这些特性使得ERNIE-4.5-0.3B-PT成为实现智能会议纪要生成器的理想选择。
核心实现逻辑
我们的项目核心逻辑分为以下几步:
- 输入处理:将会议录音的文字转录(或直接输入的文字内容)作为模型的输入。
- Prompt设计:设计一个清晰的Prompt,指导模型生成结构化的会议纪要。例如:
请根据以下会议讨论内容生成一份会议纪要,包括会议主题、关键讨论点、决策事项和待办任务: [会议内容] - 模型调用:使用ERNIE-4.5-0.3B-PT生成会议纪要。
- 结果输出:将生成的会议纪要以结构化格式展示。
代码全览与讲解
以下是完整的项目代码,基于ERNIE-4.5-0.3B-PT的快速上手代码扩展而来:
from transformers import AutoModelForCausalLM, AutoTokenizer
# 加载模型和分词器
model_name = "baidu/ERNIE-4.5-0.3B-PT"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True)
# 输入会议内容
meeting_content = """
今天会议讨论了新产品的市场推广策略。市场部提出了三个方案:社交媒体广告、线下活动和KOL合作。
技术部认为需要先完成产品测试。最终决定优先进行产品测试,同时市场部开始准备社交媒体广告方案。
"""
# 设计Prompt
prompt = f"""
请根据以下会议讨论内容生成一份会议纪要,包括会议主题、关键讨论点、决策事项和待办任务:
{meeting_content}
"""
# 准备模型输入
messages = [{"role": "user", "content": prompt}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
model_inputs = tokenizer([text], add_special_tokens=False, return_tensors="pt").to(model.device)
# 生成会议纪要
generated_ids = model.generate(
model_inputs.input_ids,
max_new_tokens=512 # 限制生成长度
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
# 解码并输出结果
generate_text = tokenizer.decode(output_ids, skip_special_tokens=True).strip("\n")
print("生成的会议纪要:\n", generate_text)
代码讲解:
- 模型加载:使用
transformers库加载ERNIE-4.5-0.3B-PT模型和分词器。 - 输入处理:将会议内容作为输入,并设计一个清晰的Prompt。
- 生成会议纪要:调用模型的
generate方法生成文本,限制生成长度为512个token。 - 结果输出:解码生成的文本并打印。
效果展示与功能扩展
效果展示
假设输入如下会议内容:
今天会议讨论了新产品的市场推广策略。市场部提出了三个方案:社交媒体广告、线下活动和KOL合作。
技术部认为需要先完成产品测试。最终决定优先进行产品测试,同时市场部开始准备社交媒体广告方案。
生成的会议纪要可能如下:
会议主题:新产品市场推广策略讨论
关键讨论点:
1. 市场部提出三种推广方案:社交媒体广告、线下活动和KOL合作。
2. 技术部强调需先完成产品测试。
决策事项:
1. 优先进行产品测试。
2. 市场部开始准备社交媒体广告方案。
待办任务:
1. 技术部完成产品测试。
2. 市场部细化社交媒体广告方案。
功能扩展
- 多语言支持:通过修改Prompt,可以支持生成其他语言的会议纪要。
- 语音输入集成:结合语音识别API,直接从会议录音生成纪要。
- 自定义模板:允许用户自定义会议纪要的模板,例如添加“参会人员”字段。
通过这个项目,我们展示了如何利用ERNIE-4.5-0.3B-PT快速构建一个实用的智能工具。希望这篇教程能激发你的灵感,动手尝试更多有趣的应用!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



