Rasa
- Open Source Conversational AI
Overview Rasa is an open-source framework for building contextual assistants and chatbots. Unlike visual flow builders (like Botpress), Rasa is "code-first" and uses machine learning to manage dialogue, allowing for more flexible, non-linear conversations.
Architecture
1. Rasa NLU Turning text into structure.
- Intent Classification: "I want pizza" ->
intent: order_food - Entity Extraction: "large pepperoni" ->
size: large,topping: pepperoni
2. Rasa Core (Dialogue Management) Deciding what to do next. Rather than if/else flowcharts, Rasa uses "Stories" (training data) to teach a machine learning model how to respond. It can handle interruptions and context switching naturally.
Files
nlu.yml: Examples of intents.stories.yml: Example conversation flows.domain.yml: List of all intents, entities, slots, and responses.
Action Server Rasa communicates with an external "Action Server" (usually Python) to execute custom code (API calls, DB lookups).
class ActionCheckWeather(Action):
def run(self, dispatcher, tracker, domain):
city = tracker.get_slot("city")
temp = get_weather(city)
dispatcher.utter_message(text=f"It is {temp} in {city}")
return []
Privacy Rasa is self-hosted (no data leaves your server), making it popular in healthcare and banking.
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.