【限时免费】 项目实战:用Phi-3.5-vision-instruct构建一个智能会议纪要生成器,只需100行代码!

项目实战:用Phi-3.5-vision-instruct构建一个智能会议纪要生成器,只需100行代码!

【免费下载链接】Phi-3.5-vision-instruct 【免费下载链接】Phi-3.5-vision-instruct 项目地址: https://ai.gitcode.com/mirrors/Microsoft/Phi-3.5-vision-instruct

项目构想:我们要做什么?

在现代职场中,会议是信息传递和决策制定的重要场景,但冗长的会议内容往往让人难以快速抓住重点。为了解决这一问题,我们设计了一个“智能会议纪要生成器”。该应用能够通过分析会议中的幻灯片或白板照片,自动生成简洁、准确的会议纪要。

输入与输出

  • 输入:用户上传的会议幻灯片或白板照片(支持多张图片)。
  • 输出:生成的会议纪要文本,包括会议主题、关键讨论点和行动项。

技术选型:为什么是Phi-3.5-vision-instruct?

Phi-3.5-vision-instruct是一个轻量级的多模态模型,具有以下核心亮点,非常适合实现我们的项目:

  1. 多模态支持:能够同时处理图像和文本输入,非常适合分析会议幻灯片或白板内容。
  2. 高推理能力:模型在复杂推理任务上表现优异,能够从多张图片中提取关键信息并生成连贯的文本。
  3. 低延迟与高效:适用于计算资源受限的环境,能够快速生成结果。
  4. 多帧图像理解:支持多张图片的联合分析,适合会议中多张幻灯片的场景。

核心实现逻辑

项目的核心逻辑分为以下几步:

  1. 加载模型与处理器:使用transformers库加载Phi-3.5-vision-instruct模型及其处理器。
  2. 处理输入图片:将用户上传的图片转换为模型可处理的格式。
  3. 设计Prompt:通过精心设计的Prompt,引导模型从图片中提取关键信息并生成会议纪要。
  4. 生成与解析结果:调用模型生成文本,并对输出进行解析和格式化。

关键代码片段

以下是如何调用模型的核心代码:

from PIL import Image
from transformers import AutoModelForCausalLM, AutoProcessor

# 加载模型和处理器
model_id = "microsoft/Phi-3.5-vision-instruct"
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="cuda", trust_remote_code=True)
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True, num_crops=4)

# 处理图片
images = [Image.open("slide1.jpg"), Image.open("slide2.jpg")]
placeholder = "<|image_1|>\n<|image_2|>\n"

# 设计Prompt
messages = [{"role": "user", "content": placeholder + "Generate a concise meeting summary from these slides."}]
prompt = processor.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

# 生成会议纪要
inputs = processor(prompt, images, return_tensors="pt").to("cuda:0")
generate_ids = model.generate(**inputs, max_new_tokens=500, temperature=0.7)
response = processor.batch_decode(generate_ids, skip_special_tokens=True)[0]

print(response)

代码全览与讲解

以下是完整的项目代码,包含详细的中文注释:

# 导入必要的库
from PIL import Image
from transformers import AutoModelForCausalLM, AutoProcessor

def generate_meeting_summary(image_paths):
    """
    生成会议纪要的核心函数
    :param image_paths: 会议幻灯片或白板图片的路径列表
    :return: 生成的会议纪要文本
    """
    # 1. 加载模型和处理器
    model_id = "microsoft/Phi-3.5-vision-instruct"
    model = AutoModelForCausalLM.from_pretrained(
        model_id,
        device_map="cuda",
        trust_remote_code=True,
        torch_dtype="auto"
    )
    processor = AutoProcessor.from_pretrained(
        model_id,
        trust_remote_code=True,
        num_crops=4  # 多帧图片设置为4
    )

    # 2. 加载图片
    images = [Image.open(path) for path in image_paths]
    placeholder = "".join([f"<|image_{i+1}|>\n" for i in range(len(images))])

    # 3. 设计Prompt
    messages = [{
        "role": "user",
        "content": placeholder + "Generate a concise meeting summary from these slides, including key topics and action items."
    }]
    prompt = processor.tokenizer.apply_chat_template(
        messages,
        tokenize=False,
        add_generation_prompt=True
    )

    # 4. 生成会议纪要
    inputs = processor(prompt, images, return_tensors="pt").to("cuda:0")
    generate_ids = model.generate(
        **inputs,
        max_new_tokens=500,
        temperature=0.7,
        do_sample=True
    )
    response = processor.batch_decode(
        generate_ids,
        skip_special_tokens=True,
        clean_up_tokenization_spaces=False
    )[0]

    return response

# 示例调用
if __name__ == "__main__":
    image_paths = ["slide1.jpg", "slide2.jpg", "slide3.jpg"]
    summary = generate_meeting_summary(image_paths)
    print("生成的会议纪要:\n", summary)

代码讲解

  1. 模型加载:使用AutoModelForCausalLMAutoProcessor加载Phi-3.5-vision-instruct模型及其处理器。
  2. 图片处理:将用户上传的图片加载为PIL对象,并生成对应的占位符。
  3. Prompt设计:通过聊天模板设计Prompt,明确告诉模型需要生成会议纪要。
  4. 生成结果:调用模型的generate方法生成文本,并对输出进行解码和清理。

效果展示与功能扩展

效果展示

假设输入为三张会议幻灯片,生成的会议纪要可能如下:

会议主题:项目进度汇报  
关键讨论点:  
1. 当前项目完成度为70%,预计下周完成剩余开发任务。  
2. 测试团队反馈了一些关键Bug,需优先修复。  
行动项:  
1. 开发团队需在周五前修复所有高优先级Bug。  
2. 项目经理需在下周一提交最终进度报告。  

功能扩展

  1. 支持语音输入:结合语音识别技术,将会议录音转换为文本,与幻灯片内容结合生成更全面的纪要。
  2. 多语言支持:扩展模型的多语言能力,支持非英语会议场景。
  3. 自定义模板:允许用户自定义会议纪要的格式和内容重点。

通过这个项目,我们展示了如何利用Phi-3.5-vision-instruct快速构建一个实用的智能应用。希望这篇文章能激发你的灵感,动手尝试更多有趣的项目!

【免费下载链接】Phi-3.5-vision-instruct 【免费下载链接】Phi-3.5-vision-instruct 项目地址: https://ai.gitcode.com/mirrors/Microsoft/Phi-3.5-vision-instruct

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值