Files

1 line
3.5 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"repo": "chatbi/chatbi", "files": {"README.md": {"8822e4fcfea032fc280d0f6acbc855b17fdeb26f": {"t": 1785674230.9778454, "n": 2328, "h": "923f7dd6259c9f9d", "c": "## ChatBI\n\n中文 | [English](README.en.md)\n\nChatBI 是一个通过跟 AI 聊天来进行 BI 分析的系统。\n\n原理分析参考文章:[ChatGPT助力可视化方案探索](https://zhuanlan.zhihu.com/p/631013261)\n\n## 功能特点\n\n- 通过 AI 聊天分析数据:支持 OpenAI、通义(千问)、DeepSeek 等\n- 🔥 使用 [Ant Design X](https://x.ant.design/) 构建聊天界面\n- 🚀 使用 [AVA](https://github.com/antvis/AVA/) 进行数据可视化\n\n## 演示\n\n![ava](./demos/ava.png)\n\n## 准备\n\n### 1. 注册 OpenAI 账号\n\n注册 [OpenAI](https://openai.com/) 账号,获取 API Key\n\n### 2. 环境准备\n\n\n#### 2.1 安装 Python 环境\n要安装服务端,你的机器上需要安装 Python 3.10 或更高版本。你可以从 [官方网页](https://www.python.org/downloads/) 下载。\n\n安装 Python 后,你需要安装必需的 pip 依赖管理工具 uv,详情请参阅 [官方网页](https://docs.astral.sh/uv/getting-started/installation/)。或者你可以运行以下命令进行安装:\n\n```bash\n# 安装 uv\npip install uv\n```\n\n#### 2. 安装 Node.js 环境\n\n参考:https://nodejs.org/en/learn/getting-started/how-to-install-nodejs\n\n> 项目使用了 Node.js 中原生 `fetch` 方法,所以需要 `Node.js >= 18`,参考:https://nodejs.org/dist/latest-v18.x/docs/api/globals.html#fetch\n\n安装好 Node.js 之后,安装 pnpm:\n\n```bash\nnpm install -g pnpm\n```\n\n### 3. 服务端配置\n\n\n在项目根目录,复制 `.env.example` 到 `.env` 并填写环境变量,如下:\n \n```bash\n# GPT 配置\nLLM_API_BASE_URL=https://api.openai.com\nLLM_API_KEY=xxx\nLLM_MODEL=xxx\n\n# database postgres\nDB_HOST=localhost\nDB_PORT=15432\nDB_NAME=chatbi\nDB_USER=chatbi\nDB_PASS=12345\n\n# cube service\nCUBE_SERVICE_API=http://localhost:4000\n\n```\n\n### 3.1 服务端配置 - 阿里云灵积\n\n如果你使用阿里云灵积,可以参考以下配置:\n\n```bash\n# GPT 配置\nOPENAI_API_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode\nOPENAI_API_KEY=sk-xxx\nOPENAI_MODEL=qwen-max\n\n# database type\n# ...\n```\n\n更多关于阿里云灵积的信息,参考:[阿里云灵积](https://help.aliyun.com/zh/dashscope/developer-reference/compatibility-of-openai-with-dashscope?spm=a2c4g.11186623.0.0.53ca2a9dia9CNJ)\n\n\n### 4. 安装依赖\n\n在项目根目录执行:\n \n```bash\npnpm install\n```\n\n### 5. 启动数据库 (可选)\n\n为了本地开发演示,可以通过 docker 启动 MySQL:\n\n```bash\nmake docker up\n```\n\n### 6. 运行\n\n1. 启动服务端:\n\n```bash\nmake dev-server\n```\n\n2. 启动客户端:\n\n```bash\nmake dev-client\n```\n\n3. 访问:http://localhost:8001\n\n## 接口规范\n\n本项目的客户端接口请求定义 `web/src/services/api-schema.ts`,是通过 [openapi-typescript](https://openapi-ts.dev/) 请求服务端生成的 [openapi 文件](http://0.0.0.0:8000/openapi.json) 自动生成的。\n\n后端接口规范定义文件,在服务端启动后,可以通过访问 `http://0.0.0.0:8000/openapi.json` 查看。\n\n如果你修改了后端接口,可以通过以下命令重新生成客户端接口请求定义:\n\n```bash\nmake gen-api\n```\n\n## 赞助\n\n如果你觉得这个项目对你有帮助,欢迎赞助我:\n\n<img width=\"300\" src=\"https://static.sls.plus/wechat.jpg\" alt=\"微信扫码支持\"/>\n\n## License\n\n[GPL-3.0 license](./LICENSE)\n"}}}}