Eleven labs with Health AI
COto **szczegółowy, aktualny (stan styczeń 2026)** przykład integracji **ElevenLabs Conversational AI Voice Agent** z **Twilio** – skupiamy się na dwóch najpopularniejszych scenariuszach w projektach health AI:
1. **Najprostszy i najszybszy sposób** → natywna integracja ElevenLabs + Twilio (bez własnego serwera WebSocket)
2. **Bardziej elastyczny/custom** → własny serwer z outbound call + przekazywanie parametrów personalizowanych (np. imię pacjenta, ostatnia anomalia)
### 1. Najłatwiejsza droga – Natywna integracja w panelu ElevenLabs (rekomendowana na start)
ElevenLabs od połowy 2025 mocno uprościł integrację z Twilio – teraz robisz to prawie bez kodu.
**Kroki (czas: ~15–30 min):**
1. Wejdź w ElevenLabs → **Agents** → wybierz lub stwórz swojego Voice Agenta
(najlepiej model Flash v2.5 lub Turbo v2.5 dla najniższego opóźnienia ~150–300 ms)
2. Przejdź do zakładki **Phone Numbers** → **Add Phone Number** → **Twilio**
3. Podaj dane z konta Twilio:
- **Account SID**
- **Auth Token**
- Numer telefonu Twilio (który ma włączone voice capabilities)
4. ElevenLabs sam skonfiguruje webhooki w Twoim Twilio (Voice → Configure → A call comes in → Webhook)
5. Przypisz agenta do numeru (dropdown)
6. Test outbound (najważniejsze dla monitoringu!):
- Kliknij **Outbound call** (prawy górny róg)
- Wybierz agenta
- Wpisz numer pacjenta
- (opcjonalnie) dodaj **custom parameters** → np.:
```
patient_name: "Anna Kowalska"
last_reading: "ciśnienie 158/96"
anomaly_type: "wysokie ciśnienie"
```
- Kliknij **Send Test Call**
**Co się dzieje pod spodem?**
ElevenLabs wywołuje Twilio API → robi outbound call → łączy się z Twoim agentem → przekazuje custom parameters do promptu/system promptu agenta.
**Przykład promptu systemowego w agencie (bardzo ważne dla health!):**
```text
Jesteś empatycznym asystentem medycznym o imieniu Maja.
Zawsze mów spokojnie, ciepło i powoli.
Używaj imienia pacjenta: {{patient_name}}
Odwołuj się do ostatniego pomiaru: {{last_reading}}
Nigdy nie diagnozuj, tylko pytaj o samopoczucie i sugeruj kontakt z lekarzem przy anomalii.
Jeśli pacjent potwierdzi problem → powiedz: "Zaraz przekieruję Cię do zespołu medycznego" i zakończ rozmowę.
```
To najszybszy sposób na prototyp w health AI – zero własnego serwera.
### 2. Zaawansowany wariant – Programowy outbound call z własnym backendem
Kiedy chcesz pełną kontrolę (np. masowe wywołania z bazy pacjentów po wykryciu anomalii).
**Architektura (najpopularniejsza w 2026):**
```
Twoja aplikacja (Node.js / Python / Go)
↓ (POST do ElevenLabs API)
ElevenLabs /v1/convai/twilio/outbound-call
↓
Twilio → dzwoni do pacjenta
↔ (WebSocket bidirectional audio)
ElevenLabs Agent (rozmowa w czasie rzeczywistym)
```
**Przykład – Node.js (Express) – outbound call z parametrami**
```javascript
const express = require('express');
const axios = require('axios');
require('dotenv').config();
const app = express();
app.use(express.json());
const ELEVENLABS_API_KEY = process.env.ELEVENLABS_API_KEY;
const AGENT_ID = 'twoj_agent_id_z_elevenlabs'; // np. p9X...
// Endpoint do wywołania outbound do pacjenta po wykryciu anomalii
app.post('/api/health-alert-call', async (req, res) => {
const { patientPhone, patientName, anomaly, lastValue } = req.body;
if (!patientPhone) {
return res.status(400).json({ error: 'Brak numeru telefonu' });
}
try {
const response = await axios.post(
'https://api.elevenlabs.io/v1/convai/twilio/outbound-call',
{
agent_id: AGENT_ID,
phone_number: patientPhone, // +48500123456
// Opcjonalne – custom variables dostępne w agencie jako {{variable}}
variables: {
patient_name: patientName || 'Pacjencie',
anomaly_type: anomaly || 'nieznana anomalia',
last_measurement: lastValue || '-',
current_time: new Date().toLocaleString('pl-PL')
},
// Można nadpisać pierwszy komunikat (opcjonalne)
// first_message: `Cześć ${patientName}, widzę że...`
},
{
headers: {
'xi-api-key': ELEVENLABS_API_KEY,
'Content-Type': 'application/json'
}
}
);
res.json({
success: true,
call_id: response.data.call_id,
message: 'Rozmowa zainicjowana'
});
} catch (error) {
console.error(error?.response?.data);
res.status(500).json({ error: 'Błąd podczas inicjowania połączenia' });
}
});
app.listen(3000, () => console.log('Serwer Health AI → Twilio → ElevenLabs działa na 3000'));
```
**Jak wywołać z Twojego systemu monitoringu?**
```bash
curl -X POST http://localhost:3000/api/health-alert-call \
-H "Content-Type: application/json" \
-d '{
"patientPhone": "+48500123456",
"patientName": "Anna Kowalska",
"anomaly": "wysokie ciśnienie",
"lastValue": "158/96 o 14:32"
}'
```
### Porównanie – co wybrać w Health AI?
| Sposób | Czas wdrożenia | Elastyczność | Koszt serwera | Personalizacja parametrów | Polecam dla... |
|-------------------------------|----------------|--------------|---------------|----------------------------|-------------------------------------|
| Natywna w panelu ElevenLabs | 15–30 min | ★★☆ | Nie potrzeba | Dobra | Prototyp, małe serie pacjentów |
| Własny backend + API outbound | 1–4 dni | ★★★★★ | Tak | Bardzo wysoka | Produkcja, masowe alerty, RAG |
**Najważniejsze uwagi bezpieczeństwa (healthcare!):**
- Używaj tylko numerów z **HIPAA/BAA** zgodnym planem Twilio (dostępny)
- Logi rozmów → włącz tylko jeśli masz zgodę i anonimizację
- Nagrywanie – domyślnie wyłączone w ElevenLabs, ale sprawdź
- Rate limits → outbound calls mają limity → planuj kolejkowanie
Powodzenia z wdrożeniem!
Jeśli chcesz wersję w Pythonie, Go lub konkretny flow z wykryciem anomalii → daj znać 🚀apitalism is the social system based upon private ownership of the means of production which entails a completely uncontrolled and unregulated economy where all land is privately owned.
Comments
Post a Comment