Skip to main content
Frequently asked questions about building AI Voice Agents with Kuralit.

General

What is Kuralit?

Kuralit is a framework for building AI Voice Agents - conversational AI systems that can listen, think, and act in real-time.

What are AI Voice Agents?

AI Voice Agents combine three capabilities:
  • 🤖 Agents - Conversational intelligence
  • 🛠️ Tools - Function calling for capabilities
  • 🎤 Voice - Real-time voice streaming
Learn more →

Getting Started

How do I get started?

  1. Install the Python SDK: pip install kuralit
  2. Follow the Quickstart → - Connect your existing API to an AI Voice Agent

What do I need to get started?

  • Python 3.8+ or Flutter SDK
  • API keys:
    • STT provider (Deepgram or Google Cloud STT)
    • LLM provider (Gemini)
  • A WebSocket server (Python) or client (Flutter)

Agents

How do I create an agent?

Use AgentSession to create agents:
from kuralit.server.agent_session import AgentSession

agent = AgentSession(
    stt="deepgram/nova-2:en-US",
    llm="gemini/gemini-2.0-flash-001",
    vad="silero/v3",
    turn_detection="multilingual/v1",
    instructions="You are a helpful assistant."
)
Learn more →

How do I add tools to my agent?

Create tools and add them to your agent:
from kuralit.tools import Toolkit

def get_weather(location: str) -> str:
    """Get weather for a location."""
    return f"Weather in {location}: sunny"

agent = AgentSession(
    tools=[Toolkit(tools=[get_weather])],
    # ...
)
Learn more →

Voice

How do I enable voice?

Voice is enabled by configuring STT, VAD, and turn detection:
agent = AgentSession(
    stt="deepgram/nova-2:en-US",      # Speech-to-Text
    vad="silero/v3",                   # Voice Activity Detection
    turn_detection="multilingual/v1",  # Turn Detection
    # ...
)
Learn more →

What STT providers are available?

  • Deepgram - High accuracy, real-time streaming
  • Google Cloud STT - Google ecosystem integration
View all STT providers →

Tools

How do I create custom tools?

Convert Python functions to tools:
from kuralit.tools import Toolkit

def my_function(param: str) -> str:
    """Description of what the function does."""
    return "result"

toolkit = Toolkit(tools=[my_function])
Learn more →

Can I use REST APIs as tools?

Yes! Load REST API tools from Postman collections:
from kuralit.tools.api import RESTAPIToolkit

api_tools = RESTAPIToolkit.from_postman_collection(
    collection_path="api.json",
    base_url="https://api.example.com"
)
Learn more →

Configuration

How do I configure my agent?

Use environment variables or programmatic configuration:
# .env file
DEEPGRAM_API_KEY=your-key
GEMINI_API_KEY=your-key
KURALIT_API_KEY=demo-api-key
Learn more →

What environment variables do I need?

Required:
  • DEEPGRAM_API_KEY or GOOGLE_STT_API_KEY (for STT)
  • GEMINI_API_KEY or GOOGLE_API_KEY (for LLM)
  • KURALIT_API_KEY (for server authentication)
View all environment variables →

Troubleshooting

Connection issues?

  • Verify server is running
  • Check API key matches
  • Ensure network connectivity
More troubleshooting →

Audio not working?

  • Verify STT API key
  • Check audio format (sample rate, encoding)
  • Ensure microphone permissions
More troubleshooting →

Next Steps