HuixiangDou is a Python, BSD-3-Clause licensed LLM-based professional knowledge assistant that answers technical questions inside group chats such as WeChat and Feishu/Lark without flooding the channel with messages, and it is built for teams that maintain an internal or public-facing support knowledge base.
What it is
HuixiangDou is a professional knowledge assistant built on LLMs, distributed as the InternLM/HuixiangDou repository under the BSD-3-Clause licence. It has 2501 stars, 179 forks and 37 open issues, and the last push was on 2025-11-24. The project lives in the Python RAG and LLM pipeline ecosystem and carries the topics rag, pipeline, multimodal, image-retrieval, group-chat, chatbot, lark and wechat. Backend model support covers DeepSeek, InternLM, GLM, KIMI and StepFun, and the codebase ships a web front end and back end, an Android client and pipeline source code.
The concrete problem it solves is message flooding in group chats. A general chatbot answers everything it is asked; HuixiangDou instead runs a three-stage pipeline of preprocess, rejection and response, where the rejection stage decides whether a question should be answered at all before any reply is produced. The behaviour is documented in the papers 2401.08772 and 2405.02817, along with a Hybrid Retrieval document and a precision report under evaluation/. It also removed its langchain dependency in July 2024 and replaced it with its own pipeline.
Key capabilities
chat_in_group handles the group chat scenario through the preprocess, rejection and response stages, answering user questions without message flooding.
chat_with_repo provides real-time streaming chat.
- Hybrid knowledge graph combined with dense retrieval improves the F1 score by 1.7%, per
docs/en/doc_knowledge_graph.md.
- An inverted indexer, added in pull request 387, makes the LLM prefer the knowledge base, and code retrieval lives in
huixiangdou/services/parallel_pipeline.py.
- Image and text retrieval are supported, including multimodal OCR in WeChat groups, plus image and URL parsing with coreference resolution through wkteam WeChat access.
- No training is required, and the project runs on CPU-only machines with 2G and 10G configurations.
- The repository offers Web, Android and pipeline source code, with a prebuilt Android package at
huixiangdou-20240508.apk.
Who uses it and how
- Group chat operators on WeChat and Feishu/Lark use it as an in-channel support assistant; the March 2025 work added forwarding of messages from multiple WeChat group messages.
- The readthedocs ChatWithAI service runs CPU-only as a public deployment, while the OpenXLab web application uses a GPU and is under continuous maintenance.
- Teams that need another client shape use the web version API for Android, with sample code in
tests/test_openxlab_android_api.py.
- Groups tuning retrieval quality fine-tune models on their own data: supervised fine-tuning produced LoRA-Qwen1.5-14B and LoRA-Qwen1.5-32B and raised F1 by 29%, and RAG annotation SFT question-and-answer data is provided.
- Small teams deploy on a single CPU-only machine at the 2G configuration, since no training step is needed.
Getting started
The quickest path is the hosted web version on OpenXLab, where a knowledge base can be created, positive and negative examples updated, web search turned on, chat tested and the assistant integrated into Feishu or WeChat groups. To self-host, take the pipeline source from InternLM/HuixiangDou; the March 2025 change simplified deployment by removing the --standalone flag, and a prebuilt Android client is published in the releases.
How it compares
The supplied facts name no paid products that this project replaces, and they name no directly comparable open-source assistant either. On the available record, HuixiangDou stands alone in this registry as an LLM knowledge assistant aimed specifically at group chat traffic control.
When to use it — and when not to
Self-hosting means running the pipeline yourself, and the README notes that WeChat integration carries a cost, with separate free and commercial access paths documented. The documentation set is Chinese-first, with README_zh.md as the primary file and English companions alongside it, so an English-only team will need to read across both. If the intended work sits outside computer science, the upstream project points to HuixiangDou2, a GraphRAG solution demonstrated in the plant-science domain, rather than this release.