代码
ref/meeting_summarizer_agent.py
Copy
"""示例:会议摘要与可视化代理
此脚本使用 OpenAITools(transcribe_audio、generate_image、generate_speech)
来处理会议录音、对其进行摘要、可视化并创建音频摘要。
需要:pip install openai agno
"""
from pathlib import Path
from textwrap import dedent
from agno.agent import Agent
from agno.models.google import Gemini
from agno.tools.openai import OpenAITools
from agno.tools.reasoning import ReasoningTools
from agno.utils.media import download_file, save_base64_data
input_audio_url: str = (
"https://agno-public.s3.us-east-1.amazonaws.com/demo_data/sample_audio.mp3"
)
local_audio_path = Path("tmp/meeting_recording.mp3")
print(f"Downloading file to local path: {local_audio_path}")
download_file(input_audio_url, local_audio_path)
meeting_agent: Agent = Agent(
model=Gemini(id="gemini-2.0-flash"),
tools=[OpenAITools(), ReasoningTools()],
description=dedent("""\
你是一位高效的会议助理 AI。
你的目的是处理会议录音,提取关键信息,
创建可视化表示,并提供音频摘要。
"""),
instructions=dedent(f"""\
请严格遵循以下步骤:
1. 接收音频文件的路径。
2. 使用 `transcribe_audio` 工具获取文本转录。
3. 分析转录内容,写一份简洁的摘要,突出关键讨论点、决策和行动项。
4. 根据步骤 3 中创建的摘要,生成格式化的会议纪要。
5. 使用 `generate_speech` 工具将会议纪要转换为音频摘要。
"""),
markdown=True,
show_tool_calls=True,
)
response = meeting_agent.run(
f"请处理位于 '{local_audio_path}' 的会议录音",
)
if response.audio:
save_base64_data(response.audio[0].base64_audio, Path("tmp/meeting_summary.mp3"))
print(f"会议摘要已保存到:{Path('tmp/meeting_summary.mp3')}")
用法
1
安装依赖项
Copy
pip install openai agno
2
运行示例
Copy
python ref/meeting_summarizer_agent.py
tmp/meeting_summary.mp3
。