LibreAI / AI Chat / HuixiangDou
// ai-chat · InternLM/HuixiangDou

HuixiangDou

HuixiangDou — LLM knowledge assistant built for group chats, with rejection so it answers only when it should

★ 2.5k stars⑂ 179 forksBSD-3-Clauseupdated 2025-11
▦ visual — this project's README ships no embeddable screenshot,
so here's a placeholder. The guide below is complete regardless.
// project facts

Project facts

HuixiangDou is an open-source ai chat project by InternLM (InternLM/HuixiangDou on GitHub). It has 2,502 GitHub stars and 179 forks, is released under the BSD-3-Clause license, and was last updated on GitHub on 24 November 2025.

GitHub stars
2,502
Forks
179
License
BSD-3-Clause
Last updated on GitHub
24 November 2025
Category
AI Chat
Listing
Full install guide
Official site
Official site
// how it works

How it works

  1. Clarify your goal

    Decide the deployment shape: group-chat assistant (chat_in_group) or streaming repo chat, and your config tier — CPU-only via API, standard 2 GB, or 10 GB multimodal.

  2. Get HuixiangDou

    Clone the repo and install the system packages for document parsing plus the Python requirements.

  3. Build the knowledge base

    Put your documents in repodir, then run the store service to build features into workdir and set the positive/negative example thresholds in config.ini.

  4. Configure the LLM and test

    Set your model and API key (or a local vLLM server) in config.ini, run the main test to see on-topic answers and off-topic rejections, then launch the Gradio UI or API server.

// features

Why people love it

Three-stage pipeline

Preprocess → rejection → response stages are designed for group chat: answer when the knowledge base applies, stay silent otherwise.

No training required

Works from your documents plus good/bad question examples that tune the rejection thresholds.

Hybrid retrieval

Dense retrieval for documents, sparse for code, plus knowledge-graph and optional internet search and image+text retrieval in the multimodal edition.

Many LLMs and file types

Supports DeepSeek, InternLM, GLM, Kimi, StepFun, vLLM, SiliconCloud and others, over Excel/HTML/Markdown/PDF/PPT/TXT/Word documents.

Chat integrations

WeChat (Android and wkteam), Lark/Feishu two-way group integration, OpenXLab web app, Gradio demo, HTTP API server and ReadTheDocs embedding.

Flexible hardware tiers

Documented CPU-only (API-based), standard 2 GB GPU and 10 GB multimodal configurations.

Advertisement
// run it

Run it yourself

  1. Clone the repo

    Clone HuixiangDou and enter the directory.

    git clone https://github.com/InternLM/HuixiangDou.git
    cd HuixiangDou
  2. Install dependencies

    Install the parsing system packages listed in the README, then the Python requirements.

    pip install -r requirements.txt
  3. Build the KB and test

    Copy example (or your own) documents into repodir, build the knowledge base, then run the Q&A test after setting your LLM in config.ini.

    mkdir repodir && cp -rf resource/data* repodir/
    mkdir workdir
    python3 -m huixiangdou.services.store
    python3 -m huixiangdou.main
// use cases

What you can build

Advertisement
// faq

Questions, answered

Who maintains HuixiangDou?

InternLM (Shanghai AI Laboratory's open-source team) maintains it; HuixiangDou2 is the newer GraphRAG successor linked from the README.

Is it free?

Yes, BSD-3-Clause licensed. WeChat integration notes in the README mention the integration itself can carry costs in some setups; deploy it yourself for the free path.

Does it need a paid API key?

Typically yes for the LLM unless you self-host: the standard config uses an OpenAI-style API (Kimi, DeepSeek, StepFun...) or your own local vLLM server, and CPU-only mode uses the SiliconCloud API.

How does it compare to a generic RAG chatbot?

Generic RAG answers every message. HuixiangDou's rejection stage and good/bad question tuning are built specifically so a bot in a group chat only speaks when the question is in scope.

How do I get started?

Clone, pip install -r requirements.txt, build the knowledge base from repodir with huixiangdou.services.store, set the LLM in config.ini, and run python3 -m huixiangdou.main.

// keep exploring

Similar tools

AI Chat

wa_llm

AI WhatsApp bot that follows group chats and replies when mentioned.

★ 171 starsMIT
View guide →
AI Chat

telegram-summary-bot

Telegram-summary-bot — summarize group chat with ai, llm && query group chat, open-source.

★ 201 starsApache-2.0
View guide →
AI Chat

silva-md-bot

A smart WhatsApp bot that automates chats and adds AI features.

★ 412 starsMIT
View guide →
AI Chat

chatgpt-lite

A feature-rich, self-hostable ChatGPT app built with Next.js.

★ 274 starsMIT
View guide →
AI Chat

agent-desk

Open-source AI customer support with live chat and RAG knowledge base.

★ 262 starsApache-2.0
View guide →
AI Chat

AiogramShopBot

Open-source Telegram shop bot with crypto payments built in.

★ 241 starsMIT
View guide →
// alternatives

Alternatives in AI Chat

The most-starred other AI Chat projects in the LibreAI catalogue — the realistic shortlist if HuixiangDou is not the right fit.

Get HuixiangDou

Free and open — grab the source, star the repo, and start creating.