Skip to content

emcie-co/parlant

Repository files navigation

🎯 The Problem Every AI Developer Faces

You build an AI agent. It works great in testing. Then real users start talking to it and...

  • ❌ It ignores your carefully crafted system prompts
  • ❌ It hallucinates responses in critical moments
  • ❌ It can't handle edge cases consistently
  • ❌ Each conversation feels like a roll of the dice

Sound familiar? You're not alone. This is the #1 pain point for developers building production AI agents.

⚑ The Solution: Stop Fighting Prompts, Teach Principles

Parlant flips the script on AI agent development. Instead of hoping your LLM will follow instructions, Parlant ensures it.

# Traditional approach: Cross your fingers 🀞
system_prompt = "You are a helpful assistant. Please follow these 47 rules..."

# Parlant approach: Ensured compliance βœ…
await agent.create_guideline(
    condition="Customer asks about refunds",
    action="Check order status first to see if eligible",
    tools=[check_order_status],
)

Parlant gives you all the structure you need to build customer-facing agents that behave exactly as your business requires:

  • Journeys: Define clear customer journeys and how your agent should respond at each step.

  • Behavioral Guidelines: Easily craft agent behavior; Parlant will match the relevant elements contextually.

  • Tool Use: Attach external APIs, data fetchers, or backend services to specific interaction events.

  • Domain Adaptation: Teach your agent domain-specific terminology and craft personalized responses.

  • Canned Responses: Use response templates to eliminate hallucinations and guarantee style consistency.

  • Explainability: Understand why and when each guideline was matched and followed.

πŸš€ Get Your Agent Running in 60 Seconds

pip install parlant
import parlant.sdk as p

@p.tool
async def get_weather(context: p.ToolContext, city: str) -> p.ToolResult:
    # Your weather API logic here
    return p.ToolResult(f"Sunny, 72Β°F in {city}")

@p.tool
async def get_datetime(context: p.ToolContext) -> p.ToolResult:
    from datetime import datetime
    return p.ToolResult(datetime.now())

async def main():
    async with p.Server() as server:
        agent = await server.create_agent(
            name="WeatherBot",
            description="Helpful weather assistant"
        )

        # Have the agent's context be updated on every response (though
        # update interval is customizable) using a context variable.
        await agent.create_variable(name="current-datetime", tool=get_datetime)

        # Control and guide agent behavior with natural language
        await agent.create_guideline(
            condition="User asks about weather",
            action="Get current weather and provide a friendly response with suggestions",
            tools=[get_weather]
        )

        # Add other (reliably enforced) behavioral modeling elements
        # ...

        # πŸŽ‰ Test playground ready at http://localhost:8800
        # Integrate the official React widget into your app,
        # or follow the tutorial to build your own frontend!

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

That's it! Your agent is running with ensured rule-following behavior.

🎬 See It In Action

Parlant Demo

πŸ”₯ Why Developers Are Switching to Parlant

πŸ—οΈ Traditional AI Frameworks

⚑ Parlant

  • Write complex system prompts
  • Hope the LLM follows them
  • Debug unpredictable behaviors
  • Scale by prompt engineering
  • Cross fingers for reliability
  • Define rules in natural language
  • Ensured rule compliance
  • Predictable, consistent behavior
  • Scale by adding guidelines
  • Production-ready from day one

🎯 Perfect For Your Use Case

Financial Services Healthcare E-commerce Legal Tech
Compliance-first design HIPAA-ready agents Customer service at scale Precise legal guidance
Built-in risk management Patient data protection Order processing automation Document review assistance

πŸ› οΈ Enterprise-Grade Features

  • 🧭 Conversational Journeys - Lead the customer step-by-step to a goal
  • 🎯 Dynamic Guideline Matching - Context-aware rule application
  • πŸ”§ Reliable Tool Integration - APIs, databases, external services
  • πŸ“Š Conversation Analytics - Deep insights into agent behavior
  • πŸ”„ Iterative Refinement - Continuously improve agent responses
  • πŸ›‘οΈ Built-in Guardrails - Prevent hallucination and off-topic responses
  • πŸ“± React Widget - Drop-in chat UI for any web app
  • πŸ” Full Explainability - Understand every decision your agent makes

πŸ“ˆ Join 8,000+ Developers Building Better AI

Companies using Parlant:

Financial institutions β€’ Healthcare providers β€’ Legal firms β€’ E-commerce platforms

Star History Chart

🌟 What Developers Are Saying

"By far the most elegant conversational AI framework that I've come across! Developing with Parlant is pure joy." β€” Vishal Ahuja, Senior Lead, Customer-Facing Conversational AI @ JPMorgan Chase

πŸƒβ€β™‚οΈ Quick Start Paths

🎯 I want to test it myself β†’ 5-minute quickstart
πŸ› οΈ I want to see an example β†’ Healthcare agent example
πŸš€ I want to get involved β†’ Join our Discord community

🀝 Community & Support

πŸ“„ License

Apache 2.0 - Use it anywhere, including commercial projects.


Ready to build AI agents that actually work?

⭐ Star this repo β€’ πŸš€ Try Parlant now β€’ πŸ’¬ Join Discord

Built with ❀️ by the team at Emcie