brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
logic-adaptersConfigure ChatterBot logic adapters, response selection, comparison methods, custom adapters, MCP tool adapters, and experimental Ollama/OpenAI LLM adapters.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when a task asks how ChatterBot chooses a response, how to configure built-in logic adapters, how to add a custom adapter, why confidence values behave a certain way, or how experimental Ollama/OpenAI adapters expose deterministic adapters as tools.
model, provider/service failures, invalid adapter dicts, and confidence surprises.| Adapter | Use for | Notes |
|---|---|---|
BestMatch | find learned responses from storage | default adapter; uses search + response selection |
SpecificResponseAdapter | exact or matcher-triggered canned response | requires input_text and output_text |
MathematicalEvaluation | natural-language or symbolic math | uses mathparse; also exposes calculate as a tool |
TimeLogicAdapter | current time questions | uses spaCy phrase matching; also exposes current time as a tool |
UnitConversion | natural-language unit conversion | requires pint; exposes convert_units as a tool |
OllamaLogicAdapter | experimental local/remote Ollama responses | requires model, client package, and an Ollama service |
OpenAILogicAdapter | experimental OpenAI-compatible responses | requires model, client package, and credentials/base URL |
Use import paths or config dictionaries:
from chatterbot import ChatBot
bot = ChatBot(
"Logic Bot",
logic_adapters=[
{
"import_path": "chatterbot.logic.BestMatch",
"default_response": "I am sorry, but I do not understand.",
"maximum_similarity_threshold": 0.90,
},
{
"import_path": "chatterbot.logic.SpecificResponseAdapter",
"input_text": "Help me!",
"output_text": "Read the support guide.",
},
],
)
If multiple adapters can process a statement, ChatterBot returns the response with the highest confidence, with special handling when multiple adapters agree on the same statement.
ChatBot lifecycle, Statement, taggers, and search classes, use core-chatbot.BestMatch, use training.