graph LR
ChatBot["ChatBot"]
StorageAdapter["StorageAdapter"]
LogicAdapter["LogicAdapter"]
Trainer["Trainer"]
Statement["Statement"]
LLM["LLM"]
ChatBot -- "Orchestrates" --> LogicAdapter
ChatBot -- "Manages" --> StorageAdapter
ChatBot -- "Utilizes" --> Trainer
ChatBot -- "Interacts with" --> LLM
ChatBot -- "Processes" --> Statement
StorageAdapter -- "Stores" --> Statement
StorageAdapter -- "Provides data to" --> ChatBot
LogicAdapter -- "Processes" --> Statement
LogicAdapter -- "Provides responses to" --> ChatBot
Trainer -- "Trains" --> ChatBot
Trainer -- "Populates" --> StorageAdapter
Statement -- "Is processed by" --> LogicAdapter
Statement -- "Is stored by" --> StorageAdapter
LLM -- "Generates responses from" --> Statement
LLM -- "Integrated with" --> ChatBot
click ChatBot href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//ChatterBot/ChatBot.md" "Details"
click StorageAdapter href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//ChatterBot/StorageAdapter.md" "Details"
click LogicAdapter href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//ChatterBot/LogicAdapter.md" "Details"
click Trainer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//ChatterBot/Trainer.md" "Details"
click Statement href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main//ChatterBot/Statement.md" "Details"
These six components are chosen as fundamental because they represent the essential functional blocks required for any conversational AI system like ChatterBot: ChatBot (entry point and central control unit), StorageAdapter (memory and persistence), LogicAdapter (the "brain" or intelligence), Trainer (learning mechanism), Statement (universal data structure), and LLM (generative capabilities).
The central orchestrator of the conversational AI. It initializes and integrates all other core components, manages the flow of interaction, processes user input, and coordinates the selection or generation of responses. It is the primary interface for interacting with the chatbot.
Related Classes/Methods:
Defines the interface for persisting and retrieving conversational data, primarily Statement objects. It abstracts the underlying database technology, enabling the bot to store its learned knowledge and conversational history, which is crucial for maintaining context and improving over time.
Related Classes/Methods:
Implements specific strategies or algorithms for processing input statements and generating a suitable response. This component represents the "brain" of the chatbot, where the core conversational logic resides. Multiple logic adapters can be configured, allowing the ChatBot to select the best response based on confidence scores.
Related Classes/Methods:
Provides methods to train the ChatBot instance by ingesting different types of conversational data. It populates the StorageAdapter with input-response pairs, enabling the bot to learn new conversational patterns and improve its responses over time.
Related Classes/Methods:
Represents a single unit of conversation, whether it's an input from the user or a response from the bot. It encapsulates the text, associated tags, confidence scores, and references to previous statements. Statement is the fundamental data structure exchanged and processed by all core components.
Related Classes/Methods:
Provides an interface for integrating and interacting with Large Language Models (LLMs) like OpenAI or Ollama. This component allows the chatbot to leverage advanced generative AI capabilities for producing dynamic and contextually rich responses, acting as an alternative or supplement to traditional LogicAdapters.
Related Classes/Methods: