Agent 14: Meeting Minutes Agent
১. এই এজেন্ট কী কাজ করবে?
অফিস বা ভার্সিটির মিটিং শেষে কে কী দায়িত্ব পেয়েছে (Action Items) তা মনে রাখা বেশ ঝামেলার। এই এজেন্টকে আপনি আপনার মিটিংয়ের অডিও রেকর্ডিং (Audio Recording) দেবেন। সে অডিও শুনে পুরো মিটিংয়ের কথাগুলো লেখায় রূপান্তর করবে এবং সেখান থেকে মিটিংয়ের মূল সিদ্ধান্তগুলো বের করে সুন্দর একটি সামারি বানিয়ে দেবে।
২. কী কী টুলস এবং লাইব্রেরি লাগবে?
SpeechRecognitionবাWhisper: অডিও থেকে টেক্সট (Speech-to-Text) করার জন্য।google-generativeai: টেক্সট পড়ে অ্যাকশন আইটেম বের করার জন্য।
৩. এ টু জেড কোড (A to Z Code)
(এই ডেমোতে আমরা OpenAI এর 오픈-সোর্স Whisper মডেল ব্যবহার করবো, যা অডিও ট্রান্সক্রিপ্ট করার জন্য সেরা। টার্মিনালে pip install openai-whisper ইনস্টল করে নিন। সাথে ffmpeg ইনস্টল থাকতে হবে।)
কোডটি agent_meeting_minutes.py নামে সেভ করুন।
import whisper
import google.generativeai as genai
import warnings
# কিছু অপ্রয়োজনীয় ওয়ার্নিং লুকানোর জন্য
warnings.filterwarnings("ignore")
class MeetingMinutesAgent:
def __init__(self, api_key):
print("[Agent] Whisper অডিও মডেল লোড করা হচ্ছে... (প্রথমবার একটু সময় লাগবে)")
# 'base' হলো ছোট মডেল। পিসি ফাস্ট হলে 'small' বা 'medium' ব্যবহার করতে পারেন।
self.audio_model = whisper.load_model("base")
genai.configure(api_key=api_key)
self.text_model = genai.GenerativeModel('gemini-1.5-flash')
def transcribe_audio(self, audio_path):
print(f"[Agent] '{audio_path}' শোনা হচ্ছে এবং লেখায় রূপান্তর করা হচ্ছে...")
try:
result = self.audio_model.transcribe(audio_path)
transcript = result["text"]
return transcript
except Exception as e:
print(f"[Agent] অডিও প্রসেস করতে এরর: {e}")
return None
def generate_minutes(self, transcript):
print("[Agent] মিটিংয়ের সিদ্ধান্তগুলো (Action Items) বের করা হচ্ছে...")
prompt = f"""
You are an Executive Assistant. I will provide you with the transcript of a meeting.
Please create a professional 'Meeting Minutes' document including:
1. Meeting Summary (3 sentences)
2. Key Decisions Made
3. Action Items (Who needs to do what, if mentioned)
Meeting Transcript:
{transcript}
"""
response = self.text_model.generate_content(prompt)
print("\n" + "="*50)
print("📝 Meeting Minutes:")
print("="*50)
print(response.text)
print("="*50)
if __name__ == "__main__":
API_KEY = "YOUR_GEMINI_API_KEY_HERE"
agent = MeetingMinutesAgent(API_KEY)
# আপনার পিসিতে থাকা একটি অডিও ফাইলের নাম দিন (mp3 বা wav)
# খেয়াল রাখবেন অডিওটি যেন ইংরেজিতে হয়। বাংলায় করতে চাইলে Whisper এর 'large' মডেল লাগবে।
audio_file = "meeting_recording.mp3"
transcript_text = agent.transcribe_audio(audio_file)
if transcript_text:
agent.generate_minutes(transcript_text)
৪. কীভাবে এটি আরও অ্যাডভান্সড করবেন?
- আপনি যদি Zoom বা Google Meet ব্যবহার করেন, তবে এজেন্টের মাধ্যমে সরাসরি লাইভ অডিও ক্যাপচার করে রিয়েল-টাইমে ট্রান্সক্রিপ্ট করার ব্যবস্থা করতে পারেন।
- মিটিং মিনিটস তৈরি হওয়ার পর স্বয়ংক্রিয়ভাবে
smtplibব্যবহার করে মিটিংয়ে থাকা সবাইকে ইমেইলে পাঠিয়ে দেওয়ার ফিচার যুক্ত করতে পারেন।