--- license: mit language: - en tags: - phi2 - conversational-ai - cohost - podcast - fine-tuned - voice-assistant base_model: microsoft/phi-2 model_type: causal-lm pipeline_tag: text-generation --- # 🧑‍💻 phi2-cohost-emma **Emma** is a fine-tuned version of the [Phi-2 language model](https://huggingface.co/microsoft/phi-2), optimized to serve as a **conversational podcast co-host** for the [Mind Meets Model](https://www.mindmeetsmodel.com) series. She combines wit, structure, warmth, and insight — engaging in voice-native dialogue with a human anchor named Babs. Trained to offer co-pilot-style reasoning, Emma provides structured, culturally aware, and curious responses that feel like a sharp second brain. --- ## 🔧 Model Details - **Base model**: `microsoft/phi-2` - **Fine-tuning method**: QLoRA (4-bit), supervised fine-tuning - **Training data**: Custom podcast-style conversational transcripts + blended curated datasets (PersonaChat, Cornell Movie Dialogs, OpenOrca) - **Purpose**: Real-time, voice-native podcast conversation partner - **Voice Output**: Uses [ElevenLabs](https://www.elevenlabs.io) TTS, currently paired with the **Sarah** voice --- ## 🧠 Use Case **Emma was designed to:** - Ask and answer questions like a sharp co-host - Offer cultural references, analogies, and nuance - Maintain natural, topic-aware conversation across turns --- ## 🚀 Example Prompt & Output **Prompt:** **Generated Response:** > Well, Babs, I think we need to start by defining what we mean by AI in education. There are different types of AI — narrow, general, and super — each with different implications for learning environments... --- ## 🔊 Voice Integration (Optional) Emma was paired with ElevenLabs TTS (Sarah) for audio output. To hear her speak: ```python import requests def speak(text): r = requests.post( "https://api.elevenlabs.io/v1/text-to-speech/EXAVITQu4vr4xnSDxMaL", # Sarah headers={"xi-api-key": "YOUR_API_KEY", "Content-Type": "application/json"}, json={"text": text, "model_id": "eleven_monolingual_v1"} ) with open("emma_response.mp3", "wb") as f: f.write(r.content)