← all repositories
Decalogue/chat

A Chinese chatbot framework that makes you manage Neo4j by hand

A Python library for building NLU-based chatbots with knowledge graphs, though you'll be doing plenty of configuration legwork yourself.

700 stars Python Chat AssistantsRAG · Search
chat
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

Chat is a Python 3.3–3.6 library for building chatbots around natural language understanding and machine learning. It bundles semantic analysis tools, sentence similarity, and knowledge graph construction via Neo4j. The pitch: go from zero to a working bot with multi-user concurrency and custom multi-turn dialogue scenarios.

The interesting bit

The knowledge graph angle is the hook. Rather than treating Q&A as pure retrieval, Chat structures domain knowledge in Neo4j and traverses it for answers. The repo ships with pre-built databases for banking and hospital scenarios, so you can see multi-turn dialogue in action without inventing your own ontology first.

Key highlights

  • Ships with three test users and sample knowledge bases (banking, hospital, basic chitchat)
  • Supports concurrent clients with isolated per-user dialogue state
  • Modular architecture: semantic analysis, graph operations, and QA layers are separable
  • Includes a server/client model plus a direct chat.qa.Robot API for simpler integrations
  • Chinese-language documentation on ReadTheDocs

Caveats

  • Python 3.3–3.6 only; effectively frozen in time
  • Requires manual Neo4j setup: edit config files, set passwords, point to the right .db path
  • The README’s “quick start” is three steps of terminal wrangling before you say hello
  • Last meaningful activity appears to be 2017; contributor list is sparse

Verdict

Worth a look if you’re specifically studying KBQA in Chinese or need a Neo4j-based dialogue skeleton to hack on. Skip it if you want a modern, batteries-included framework—this is more of a research-era artifact with decent bones.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.