RAGFlow Chat Plugin for ChatGPT-on-WeChat ========================================= This folder contains the source code for the `ragflow_chat` plugin, which extends the core functionality of the RAGFlow API to support conversational interactions using Retrieval-Augmented Generation (RAG). This plugin integrates seamlessly with the [ChatGPT-on-WeChat](https://github.com/zhayujie/chatgpt-on-wechat) project, enabling WeChat and other platforms to leverage the knowledge retrieval capabilities provided by RAGFlow in chat interactions. ### Features * **Conversational Interactions**: Combine WeChat's conversational interface with powerful RAG (Retrieval-Augmented Generation) capabilities. * **Knowledge-Based Responses**: Enrich conversations by retrieving relevant data from external knowledge sources and incorporating them into chat responses. * **Multi-Platform Support**: Works across WeChat, WeCom, and various other platforms supported by the ChatGPT-on-WeChat framework. ### Plugin vs. ChatGPT-on-WeChat Configurations **Note**: There are two distinct configuration files used in this setup—one for the ChatGPT-on-WeChat core project and another specific to the `ragflow_chat` plugin. It is important to configure both correctly to ensure smooth integration. #### ChatGPT-on-WeChat Root Configuration (`config.json`) This file is located in the root directory of the [ChatGPT-on-WeChat](https://github.com/zhayujie/chatgpt-on-wechat) project and is responsible for defining the communication channels and overall behavior. For example, it handles the configuration for WeChat, WeCom, and other services like Feishu and DingTalk. Example `config.json` (for WeChat channel): ```json { "channel_type": "wechatmp", "wechatmp_app_id": "YOUR_APP_ID", "wechatmp_app_secret": "YOUR_APP_SECRET", "wechatmp_token": "YOUR_TOKEN", "wechatmp_port": 80, ... } ``` This file can also be modified to support other communication platforms, such as: - **Personal WeChat** (`channel_type: wx`) - **WeChat Public Account** (`wechatmp` or `wechatmp_service`) - **WeChat Work (WeCom)** (`wechatcom_app`) - **Feishu** (`feishu`) - **DingTalk** (`dingtalk`) For detailed configuration options, see the official [LinkAI documentation](https://docs.link-ai.tech/cow/multi-platform/wechat-mp). #### RAGFlow Chat Plugin Configuration (`plugins/ragflow_chat/config.json`) This configuration is specific to the `ragflow_chat` plugin and is used to set up communication with the RAGFlow server. Ensure that your RAGFlow server is running, and update the plugin's `config.json` file with your server details: Example `config.json` (for `ragflow_chat`): ```json { "ragflow_api_key": "YOUR_API_KEY", "ragflow_host": "127.0.0.1:80" } ``` This file must be configured to point to your RAGFlow instance, with the `ragflow_api_key` and `ragflow_host` fields set appropriately. The `ragflow_host` is typically your server's address and port number, and the `ragflow_api_key` is obtained from your RAGFlow API setup. ### Requirements Before you can use this plugin, ensure the following are in place: 1. You have installed and configured [ChatGPT-on-WeChat](https://github.com/zhayujie/chatgpt-on-wechat). 2. You have deployed and are running the [RAGFlow](https://github.com/infiniflow/ragflow) server. Make sure both `config.json` files (ChatGPT-on-WeChat and RAGFlow Chat Plugin) are correctly set up as per the examples above.