Zum Hauptinhalt springen
Connic
BuildBeta

Connic Voice

Connic Voice integriert native Voice-Modelle in die gewohnte Agentenkonfiguration.

Zuletzt aktualisiert

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

agents/voice-assistant.yaml
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: true

Stelle 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.

agents/voice-assistant.yaml
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: 60

Alle Felder sind optional. Wenn interruptions angegeben wird, ist darin enabled erforderlich.

FeldTypStatusBeschreibung
voicestringOptionalID der gewünschten Stimme beim gewählten Provider. Ohne Angabe verwendet er seine Standardstimme.
languagestringOptionalBevorzugte 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_modelstringOptionalOpenAI-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.
greetingstringOptionalBegrüßung, die das Modell zu Beginn sprechen soll. Ohne Angabe wartet der Agent darauf, dass der Nutzer zuerst spricht.
thinking_soundbooleanOptionalSpielt 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_allowedbooleanOptionalErlaubt 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_detectionobjectOptionalEinstellungen dafür, wie Connic erkennt, dass der Nutzer fertig gesprochen hat.
silence_msintegerOptionalDauer 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.
interruptionsobjectOptionalSteuert, ob der Nutzer die Sprachausgabe unterbrechen kann. Ohne dieses Objekt sind Unterbrechungen aktiviert.
enabledbooleanErforderlichOb der Nutzer den Agenten unterbrechen kann. Erforderlich, wenn interruptions angegeben ist.
idle_timeout_secondsintegerOptionalBeendet 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

ProviderModelle
OpenAIOpenAI-Realtime-Modelle (z. B. openai/gpt-realtime)
Azure OpenAIOpenAI-Realtime-Modelle über Azure (z. B. azure/gpt-realtime-2.1)
Google GeminiGemini-Modelle mit nativer Audioverarbeitung (z. B. gemini/gemini-3.1-flash-live-preview)
Google Vertex AIGemini-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:

agents/voice-assistant.yaml
voice_config:
  hang_up_allowed: false

Aktuelle 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.