Connic Voice
Connic Voice integriert native Voice-Modelle in die gewohnte Agentenkonfiguration.
Auf dieser Seite
Native Voice-Modelle verarbeiten Audio direkt und antworten mit Sprache. Die Auswahl erfolgt wie gewohnt über model; voice_config ergänzt Einstellungen für Stimme, Begrüßung und Gesprächsverhalten. Prompts und Tools werden wie bei anderen Agenten konfiguriert.
Agenten konfigurieren
version: "1.0"
name: voice-assistant
type: llm
model: openai/gpt-realtime
description: "Ein hilfreicher Sprachassistent"
system_prompt: |
Antworte kurz und natürlich in der Sprache des Nutzers.
Sage vor einem Tool-Aufruf kurz, was du prüfst,
und rufe das Tool in derselben Antwort auf.
Verabschiede dich, bevor du das Gespräch beendest.
voice_config:
transcription_model: gpt-realtime-whisper
greeting: "Hallo! Wie kann ich helfen?"
thinking_sound: trueStelle den Agenten bereit und verknüpfe ihn mit einer Verbindung, die Voice unterstützt.
voice_config: {} aktiviert Voice mit den Standardeinstellungen. Ohne greeting wartet der Agent darauf, dass der Nutzer zuerst spricht.
Voice-Konfiguration
Dieses Beispiel zeigt alle Einstellungen unter voice_config. Die angegebenen Werte überschreiben die Standardeinstellungen. Die Stimme muss zum gewählten Provider passen; alloy ist hier eine Stimme für OpenAI.
model: openai/gpt-realtime
voice_config:
voice: alloy
language: de
transcription_model: gpt-realtime-whisper
greeting: "Hallo! Wie kann ich helfen?"
thinking_sound: true
hang_up_allowed: true
turn_detection:
silence_ms: 500
interruptions:
enabled: true
idle_timeout_seconds: 60Alle Felder sind optional. Wenn interruptions angegeben wird, ist darin enabled erforderlich.
| Feld | Typ | Status | Beschreibung |
|---|---|---|---|
| voice | string | Optional | ID der gewünschten Stimme beim gewählten Provider. Ohne Angabe verwendet er seine Standardstimme. |
| language | string | Optional | Bevorzugte Sprache, etwa en oder de-DE. Connic ergänzt damit die Modellanweisungen und gibt die Sprache, soweit unterstützt, an die Transkription weiter. Die Spracherkennung wird dadurch nicht auf diese Sprache beschränkt. |
| transcription_model | string | Optional | OpenAI-Modell für die Transkription der Nutzerbeiträge oder Name eines vorhandenen Transkriptions-Deployments in derselben Azure-Ressource. Ohne Angabe werden Nutzerbeiträge bei OpenAI und Azure nicht transkribiert. Gemini und Vertex AI transkribieren nativ ohne diese Einstellung. |
| greeting | string | Optional | Begrüßung, die das Modell zu Beginn sprechen soll. Ohne Angabe wartet der Agent darauf, dass der Nutzer zuerst spricht. |
| thinking_sound | boolean | Optional | Spielt einen leisen, wiederkehrenden Ton, während Tools laufen oder der Provider Arbeit im Hintergrund meldet. Der Ton pausiert, sobald der Nutzer oder Agent spricht.Standard: true |
| hang_up_allowed | boolean | Optional | Erlaubt dem Agenten, das Gespräch selbst zu beenden. Die Verabschiedung wird vollständig abgespielt, bevor das Gespräch endet. Mit false wird diese Funktion deaktiviert.Standard: true |
| turn_detection | object | Optional | Einstellungen dafür, wie Connic erkennt, dass der Nutzer fertig gesprochen hat. |
| silence_ms | integer | Optional | Dauer einer Sprechpause in Millisekunden, nach der der Agent davon ausgeht, dass der Nutzer fertig gesprochen hat. Muss größer als null sein. Ohne Angabe gilt der Standardwert des Providers. |
| interruptions | object | Optional | Steuert, ob der Nutzer die Sprachausgabe unterbrechen kann. Ohne dieses Objekt sind Unterbrechungen aktiviert. |
| enabled | boolean | Erforderlich | Ob der Nutzer den Agenten unterbrechen kann. Erforderlich, wenn interruptions angegeben ist. |
| idle_timeout_seconds | integer | Optional | Beendet das Gespräch nach der angegebenen Anzahl von Sekunden ohne Gesprächsaktivität. Laufende Tools und vom Provider gemeldete Arbeit im Hintergrund halten das Gespräch aktiv. Muss größer als null sein. Ohne Angabe gibt es dafür kein eigenes Zeitlimit. Das Timeout des Runs gilt weiterhin. |
Modelle und Provider
| Provider | Modelle |
|---|---|
| OpenAI | OpenAI-Realtime-Modelle (z. B. openai/gpt-realtime) |
| Azure OpenAI | OpenAI-Realtime-Modelle über Azure (z. B. azure/gpt-realtime-2.1) |
| Google Gemini | Gemini-Modelle mit nativer Audioverarbeitung (z. B. gemini/gemini-3.1-flash-live-preview) |
| Google Vertex AI | Gemini-Modelle mit nativer Audioverarbeitung über Vertex AI (z. B. vertex_ai/gemini-live-2.5-flash-native-audio) |
Auf openai/, azure/, gemini/ oder vertex_ai/ folgt der Modellname beziehungsweise der Name des Azure-Deployments. Der Provider prüft, ob das Modell verfügbar ist und Realtime-Audio unterstützt. Welche Stimmen zur Auswahl stehen, hängt vom Provider ab. Ohne voice verwendet er seine Standardstimme.
Über reasoning_effort am Agenten lässt sich eine Reasoning-Stufe anfordern. Connic gibt die Einstellung an den Provider weiter. Dieser lehnt nicht unterstützte Einstellungen oder Werte ab. Ohne Angabe oder mit auto gilt der Modellstandard. Zum Beispiel unterstützt gemini/gemini-3.8-live-extended-thinking die Stufen low, medium und high.
Tools und Gesprächsablauf
Während des Gesprächs kann der Agent Python-Tools ausführen, Wissen per Retrieval abrufen, MCP-Tools nutzen und Aufgaben an andere Agenten delegieren. Tool Hooks, bedingte Tools und die Tool-Suche funktionieren wie bei anderen Agenten. Die before- und after-Middleware läuft zu Beginn und am Ende des gesamten Runs.
Der Agent sollte einen Tool-Aufruf kurz ankündigen, etwa mit „Ich schaue kurz nach“. Standardmäßig ist ein leiser, wiederkehrender Ton zu hören, während Tools laufen oder der Provider Arbeit im Hintergrund meldet. Der Ton pausiert, sobald der Nutzer oder der Agent spricht. Mit thinking_sound: false lässt er sich ausschalten.
In den Run-Details lassen sich die Antworten des Agenten und bei aktivierter Transkription auch die Nutzerbeiträge nachlesen. Fehler bei der Transkription werden dort angezeigt; das Gespräch läuft weiter. Die Traces zeigen, welche Tools der Agent genutzt hat und wie lange die einzelnen Schritte gedauert haben. Wenn der Provider Reasoning-Zusammenfassungen zurückgibt, erscheinen sie ebenfalls im Trace.
Gespräch beenden
Der Agent kann das Gespräch selbst beenden. Die Verabschiedung wird vollständig abgespielt, bevor das Gespräch endet. Im Prompt lässt sich festlegen, wann der Agent das Gespräch beenden soll. Diese Einstellung deaktiviert die Funktion:
voice_config:
hang_up_allowed: falseAktuelle Einschränkungen
Voice ist nur für Agenten mit type: llm und einem unterstützten Modell von OpenAI, Azure OpenAI, Google Gemini oder Google Vertex AI verfügbar. Modelle unter connic/* unterstützen Voice noch nicht. Connic lehnt Voice-Konfigurationen mit Input- oder Output-Guardrails, menschlichen Freigaben, strukturierter Ausgabe (output_schema oder output_schema_dict), fallback_model oder context_compression ab. Der Audiostream erreicht das Modell und den Nutzer direkt. Guardrails können ihn deshalb nicht vor der Übertragung prüfen.
Automatisierte Agententests unterstützen Voice noch nicht. Teste den bereitgestellten Agenten im Gespräch.