技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
storage-adapters【数据与研究】Use ChatterBot SQL, MongoDB, Redis vector, and custom storage adapters, including database_uri, filters, tags, and optional backend troubleshooting.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill when a task asks how ChatterBot stores statements, chooses SQL vs MongoDB vs Redis vector storage, configures database_uri, writes or filters statement records, debugs service backends, or implements a custom storage adapter.
| Adapter | Best for | Prerequisites |
|---|---|---|
SQLStorageAdapter | default storage, SQLite, SQLAlchemy-supported databases, exact/indexed text matching | base package; database driver for non-SQLite URIs |
MongoDatabaseAdapter | flexible NoSQL statement documents | pymongo, reachable MongoDB service |
RedisVectorStorageAdapter | experimental semantic vector search with embeddings | chatterbot[redis], Redis Stack/vector search service, embedding model/provider |
DjangoStorageAdapter | Django ORM integration | route to django-integration |
from chatterbot import ChatBot
bot = ChatBot(
"SQL Bot",
storage_adapter="chatterbot.storage.SQLStorageAdapter",
database_uri=None, # in-memory sqlite smoke
)
For a persistent SQLite file:
bot = ChatBot("SQL Bot", database_uri="sqlite:///db.sqlite3")
For non-SQLite databases, pass a SQLAlchemy URI and any supported pool kwargs such as pool_size, max_overflow, pool_timeout, pool_recycle, and pool_pre_ping.
Storage adapters expose common filter(**kwargs) options such as text, in_response_to, conversation, tags, exclude_text, exclude_text_words, persona_not_startswith, search_text_contains, search_in_response_to_contains, order_by, and page_size. See the API reference before assuming a filter works identically across SQL, MongoDB, and Redis vector storage.
ChatBot response lifecycle, route to core-chatbot.