{"id":18427581,"url":"https://github.com/yaoapp/yao-knowledge","last_synced_at":"2025-04-07T16:33:29.778Z","repository":{"id":170500601,"uuid":"625105214","full_name":"YaoApp/yao-knowledge","owner":"YaoApp","description":"独立部署、ChatGPT 驱动、支持全文语义搜索、聊天机器人的 AI 协同知识库。","archived":false,"fork":false,"pushed_at":"2024-03-17T21:58:12.000Z","size":4711,"stargazers_count":48,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-22T21:41:49.510Z","etag":null,"topics":["ai","aigc","chatgpt","knowledge","knowledge-base","low-code","no-code","yao"],"latest_commit_sha":null,"homepage":"https://yaoapps.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YaoApp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-08T04:50:10.000Z","updated_at":"2025-01-01T08:04:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"2882ca29-a2c2-4040-a463-2d3eeda5b9f8","html_url":"https://github.com/YaoApp/yao-knowledge","commit_stats":null,"previous_names":["yaoapp/yao-knowledge"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaoApp%2Fyao-knowledge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaoApp%2Fyao-knowledge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaoApp%2Fyao-knowledge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YaoApp%2Fyao-knowledge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YaoApp","download_url":"https://codeload.github.com/YaoApp/yao-knowledge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247688365,"owners_count":20979647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","aigc","chatgpt","knowledge","knowledge-base","low-code","no-code","yao"],"created_at":"2024-11-06T05:11:12.482Z","updated_at":"2025-04-07T16:33:29.772Z","avatar_url":"https://github.com/YaoApp.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI 知识库\n\n![屏幕截图](https://release-bj.yaoapps.com/docs/v0.10.3/screenshots/knowledge.png)\n\n⚠️ ⚠️ ⚠️ 本项目为一个 YAO 应用的演示示例，主要介绍 YAO 如何对接向量数据库、客户端、自定义网页、 Neo DSL 中如何使用私有数据及如何将应用打包为独立制品等。\n\n⚠️ ⚠️ ⚠️ 在开始前需要了解 YAO 的基本使用方式。 建议熟悉 YAO 之后尝试。 官方文档: https://yaoapps.com/doc\n\n⚠️ ⚠️ ⚠️ 如需在生产环境中使用，可联系商务。联系方式: https://yaoapps.com/contact\n\n## 仓库说明\n\n| 仓库                                            | 说明                                        |\n| ----------------------------------------------- | ------------------------------------------- |\n| https://github.com/YaoApp/yao-knowledge         | 知识库 API 接口, 管理后台                   |\n| https://github.com/YaoApp/yao-knowledge-web     | 知识库网站源码 (Build 之后放在 public 目录) |\n| https://github.com/YaoApp/yao-knowledge-desktop | 文档上传客户端（当前支持 PDF 文件格式）     |\n| https://github.com/YaoApp/yao-knowledge-pdf     | YAO PDF 文档阅读器插件 (支持 Linux / MacOS) |\n\n## 项目依赖\n\n| 依赖                                             | 版本                                  | 说明                |\n| ------------------------------------------------ | ------------------------------------- | ------------------- |\n| [YAO](https://yaoapps.com/)                      | v0.10.3+ **(#45f83c0)**               | Yao 应用引擎        |\n| [Weaviate](https://github.com/weaviate/weaviate) | v0.19.6+                              | Weaviate 向量数据库 |\n| [OpenAI](https://platform.openai.com/)           | gpt-3.5-turbo, text-embedding-ada-002 | OpenAI 接口         |\n\n## 安装配置\n\n### 安装准备\n\n#### 安装 YAO\n\n参考文档: [安装调试](https://yaoapps.com/doc/%E4%BB%8B%E7%BB%8D/%E5%AE%89%E8%A3%85%E8%B0%83%E8%AF%95)\n\n⚠️ 确认 YAO 的版本为 v0.10.3+ , Git Commit: `#45f83c0`, Built: `2023-05-28T13:29:38+0000`\n\n运行 yao version 查看\n\n```bash\nyao version --all\n```\n\n```bash\nVersion:\t  0.10.3\nGo version:\t  go1.19.2\nGit commit:\t  45f83c08fe59\nBuilt:\t      2023-05-28T13:29:38+0000\nOS/Arch:\t  linux/amd64\n```\n\n#### 安装 Weaviate\n\nDocker Compose: `compose.yml`\n\n```yaml\nversion: \"3.4\"\nservices:\n  weaviate:\n    command:\n      - --host\n      - 0.0.0.0\n      - --port\n      - \"5080\"\n      - --scheme\n      - http\n    image: semitechnologies/weaviate:latest\n    ports:\n      - 5080:5080\n    restart: unless-stopped\n    environment:\n      QUERY_DEFAULTS_LIMIT: 25\n      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: \"true\"\n      PERSISTENCE_DATA_PATH: \"/var/lib/weaviate\"\n      DEFAULT_VECTORIZER_MODULE: \"text2vec-openai\"\n      ENABLE_MODULES: \"text2vec-openai,generative-openai,qna-openai\"\n      CLUSTER_HOSTNAME: \"node1\"\n      all_proxy: socks5://172.17.0.1:7890\n      http_proxy: http://172.17.0.1:7890\n      https_proxy: http://172.17.0.1:7890\n```\n\n⚠️⚠️⚠️ **http_proxy、https_proxy、all_proxy 需修改为代理服务器，确保在容器内可访问 OpenAI 接口。**\n\n启动服务\n\n```bash\ndocker compose up -d\n```\n\n### 安装应用\n\n#### 第一步: 下载源码\n\n```bash\ngit clone https://github.com/YaoApp/yao-knowledge.git\n```\n\n#### 第二步: 配置环境变量\n\n⚠️⚠️⚠️ **将 /data/app 替换为你自己的目录**\n\n⚠️⚠️⚠️ **将 WEAVIATE HOST、 WEAVIATE PORT 替换为你的 Weaviate**\n\n⚠️⚠️⚠️ **如没有 /data/app/db 目录，需手动创建**\n\n⚠️⚠️⚠️ **将 PDF 阅读扩展插件复制到 YAO 扩展目录**\n\n`/data/app/.env` 文件\n\n```bash\nYAO_DB_DRIVER=\"sqlite3\"\nYAO_DB_PRIMARY=\"/data/app/db/yao.db\"\nYAO_ENV=\"production\"\nYAO_HOST=\"0.0.0.0\"\nYAO_LANG=\"zh-cn\"\nYAO_LOG=\"/data/app/logs/application.log\"\nYAO_LOG_MODE=\"TEXT\"\nYAO_PORT=\"5099\"\nYAO_SESSION_FILE=\"/data/app/db/.session\"\nYAO_SESSION_STORE=\"file\"\nYAO_STUDIO_PORT=\"5077\"\n\n# YAO_EXTENSION_ROOT 设置 YAO 扩展目录; 插件目录为 $YAO_EXTENSION_ROOT/plugins。\n# 将对应架构的 .so 文件复制到 /data/yao-exts/plugins/pdf.so\n# PDF 文件阅读插件 https://github.com/YaoApp/yao-knowledge-pdf\nYAO_EXTENSION_ROOT=\"/data/yao-exts\"\n\nWEAVIATE_HOST=\"http://\u003cWEAVIATE HOST\u003e:\u003cWEAVIATE PORT\u003e\"\nOPENAI_KEY=sk-xxxx\nYAO_JWT_SECRET=LiQDE1kOnvv6Qv3if2KhEJ7Ihzz1XZ\n\n```\n\n#### 第三步: 启动服务\n\n初始化数据\n\n```bash\nyao migrate --reset \u0026\u0026 yao run scripts.doc.SchemaReset\n\n```\n\n启动服务\n\n```bash\nyao start\n```\n\n### 独立制品\n\n#### 打包为独立制品\n\n⚠️⚠️⚠️ **将 /data/app 替换为你自己的目录**\n\n⚠️⚠️⚠️ **PACK_FLAG=\"-l 123456\" 可替换为你自己的密码**\n\n```bash\ndocker run -it --rm \\\n      -v /data/app:/app \\\n      -e APP_NAME=\"knowledge\" \\\n      -e PACK_FLAG=\"-l 123456\" \\\n      -e PACK_ENV=\"/app/pack.build.yao\" \\\n      yaoapp/yao-build:0.10.3-amd64 make\n```\n\n打包好的制品在 `dist` 目录下\n\n```bash\ndist\n├── knowledge-0.10.3-linux-amd64\n└── knowledge-0.10.3-linux-arm64\n```\n\n#### 启动服务\n\n⚠️⚠️⚠️ 首次运行需初始化数据\n\n```bash\nmkdir /data/empty\ncd /data/empty\n\n# 首次运行初始化数据\nknowledge-0.10.3-linux-amd64 -k 123456 migrate --reset \u0026\u0026 knowledge-0.10.3-linux-amd64 -k 123456 run scripts.doc.SchemaReset\n\n# 启动服务\nknowledge-0.10.3-linux-amd64 -k 123456 start\n```\n\n### 文件上传客户端\n\n仓库: https://github.com/YaoApp/yao-knowledge-desktop\n\n配置文件: [config.js](https://github.com/YaoApp/yao-knowledge-desktop/blob/main/config.js)\n\n```bash\nmodule.exports = { url: \"http://127.0.0.1\", port: 5099 };\n```\n\n| 参数 | 说明            |\n| ---- | --------------- |\n| url  | 知识库 API 地址 |\n| port | 端口号          |\n\n制品打包参考 [release workflow](https://github.com/YaoApp/yao-knowledge-desktop/blob/main/.github/workflows/release.yml)\n\n### 知识库网站\n\n仓库: https://github.com/YaoApp/yao-knowledge-web\n\n可将打包后的文件，放到 `public` 目录\n\n```bash\nnpm run build\n```\n\n```bash\ncp -r dist/* /data/app/public/\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaoapp%2Fyao-knowledge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyaoapp%2Fyao-knowledge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyaoapp%2Fyao-knowledge/lists"}