Content
<div align="right">
<details>
<summary>🌐 Language</summary>
<div>
<div align="center">
<a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=en">English</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=zh-CN">简体中文</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=zh-TW">繁體中文</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=ja">日本語</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=ko">한국어</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=hi">हिन्दी</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=th">ไทย</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=fr">Français</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=de">Deutsch</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=es">Español</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=it">Italiano</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=ru">Русский</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=pt">Português</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=nl">Nederlands</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=pl">Polski</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=ar">العربية</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=fa">فارسی</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=tr">Türkçe</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=vi">Tiếng Việt</a>
| <a href="https://openaitx.github.io/view.html?user=jhlucc&project=pokemon-chat&lang=id">Bahasa Indonesia</a>
</div>
</div>
</details>
</div>
📘 中文 | [English](./README.en.md)
<img src="resources/picture/11.png" alt="Icon" style="width: 27%;" />
# 「可萌」 <img src="resources/picture/brain-removebg-preview.png" alt="Icon" style="width: 11%;" /> A Domain-Specific Chat Assistant Based on Knowledge Base and Knowledge Graph








<img src="resources/picture/img.png" alt="Icon" style="width: 90%;" />
---
## 📝 Project Introduction
As one of the most influential IPs globally, Pokémon has a vast world setting and a wealth of character data. With years of accumulation across games, animations, cards, movies, and more, its knowledge system is complex and highly structured, making it very suitable for knowledge graph modeling and intelligent Q&A scenarios.
With the development of large language models (LLM) and knowledge enhancement technologies, it has become possible to construct the Pokémon universe into a **multimodal, structured, and interactive AI system**. This project builds a knowledge graph covering Pokémon characters, attributes, skills, regions, evolution paths, and more, based on data sources such as Baidu Tieba and Wikipedia, and combines the capabilities of large models to create an **intelligent dialogue assistant dedicated to the Pokémon world** — "可萌".
On this basis, we have integrated **LangGraph inference process orchestration**, **GraphRAG retrieval enhancement technology**, and **knowledge graph visualization exploration capabilities**, allowing users to obtain precise answers through natural language questions and intuitively explore the Pokémon world in graph form. It also supports location-based map positioning, mapping the Pokémon world to real-world coordinates, achieving **spatial visualization of Pokémon location knowledge** :earth_asia: .
This project aims to create a **transferable, extensible, domain-specific intelligent assistant template system** for enthusiasts, allowing you to easily transfer it to other characters (such as "Su Shi", "Finance", "Government Services", etc.) to create domain-specific intelligent assistants. By simply changing the knowledge source and graph structure, you can achieve high-quality semantic Q&A and visual knowledge exploration experiences.
---
## 🎯 System Architecture
Through the implementation of this project, we have not only completed a full project using Vue3 + FastAPI but also built an intelligent Q&A system based on the Pokémon knowledge graph. We have accumulated rich practical experience in semantic structure modeling such as BERT + TF-IDF + rule matching mechanisms, as well as graph fusion and generative Q&A. The system supports precise Q&A on Pokémon evolution relationships, attribute advantages, skill characteristics, geographical distribution, and more, greatly enhancing the user experience in interactive exploration.
In the future, we will continue to optimize the system's performance in scenarios such as multi-turn Q&A, complex graph reasoning, and map navigation, and expand support for more task types, such as graph-based reasoning Q&A, Pokédex auto-completion, and character battle strategy suggestions. Meanwhile, the knowledge graph will continue to be updated and expanded to ensure its **timeliness, completeness, and consistency**, aiding in the construction of intelligent systems and AI application expansion in the Pokémon domain.
Here is the core technology architecture diagram of this project:
<img src="resources/picture/now.png" alt="Icon" style="width: 100%;" />
## 🎯 Project Features
1. Fine-tuned a domain-specific large model based on Pokémon using crawled data — [可萌](https://huggingface.co/qwqqwq/qwen2.5-14b-instruct-pokemon-int4).
2. Constructed a Pokémon knowledge graph (Wikipedia) based on crawled data.
3. Automated annotation of training NER data, using RoBERTa + TF-IDF + rule matching to identify entities and attributes in the graph.
4. Implemented ASR functionality using Whisper.
5. Realized MCP services, such as obtaining Pokémon world locations and displaying the corresponding real-world latitude and longitude coordinates on the frontend.
6. Extracted DeepDoc from RAGflow to enhance the knowledge base's parsing and extraction capabilities.
7. Used the LangGraph framework to implement a graphrag + web searcher + knowledge base intelligent agent based on our own data.
8. Encapsulated the agent base class to implement multi-agent functionality.
9. Supports knowledge graph search, web search, knowledge base search, MCP search, and voice search, which can be integrated simultaneously or selected individually.
---
## 🚀 Quick Start
> **Prerequisites**: Docker / Docker Compose, Node.js ≥ 18, Python ≥ 3.11 must be installed.
1. Place the data in the [resources](https://pan.baidu.com/s/1o48ankI6l9jaky5MeRqgYw?pwd=rkdy) folder.
2. **Clone the repository & configure environment variables**
```bash
git clone
cd Smart-Assistant
cp src/.env.template src/.env # Fill in API-KEY as needed, can leave blank
cp Smart-Assistant/config/settings_example.py config/settings.py # Fill in
```
3. **Install dependencies**
```bash
pip install -r requirements.txt
```
4. **Start core services**
```bash
cd docker
docker compose up -d # Neo4j · Milvus · Whisper · MySQL, etc.
```
5. **Import graph and map data**
```bash
cd scripts
python import_graph.py # Write to Neo4j
python import_pokemon_map.py # Write to MySQL
```
6. **Start backend services**
```bash
cd server
python main.py # FastAPI + LangGraph
cd ../src/mcp
python mcp_server.py # SSE mode example
```
7. **Start frontend**
```bash
cd web
npm install
npm run dev
# Access in the browser at http://localhost:3100/
```
---
## 🔭 Reference Projects
- https://github.com/xerrors/Yuxi-Know
- https://github.com/BinNong/meet-libai
---
## 📄 License
This project is licensed under the **MIT License**, and can be freely used for commercial or personal projects. Please retain the original author and source information for any secondary development.
Connection Info
You Might Also Like

Continue
Continue is an open-source project for enhancing MCP Server functionality.

repomix
Repomix packages your codebase into AI-friendly formats for seamless integration.

Mastra
Mastra is a TypeScript framework for building AI agents and assistants.
mcp-llm-bridge
A bridge connecting MCP servers to OpenAI-compatible LLMs for tool integration.
paper-search-mcp
A MCP server for searching and downloading academic papers from various sources.
awesome-cursor-mpc-server
AI-powered MCP Server for intelligent coding assistance and tutorials.