[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-finic-ai--rag-stack":3,"tool-finic-ai--rag-stack":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",148568,2,"2026-04-09T23:34:24",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":76,"owner_website":78,"owner_url":79,"languages":80,"stars":120,"forks":121,"last_commit_at":122,"license":123,"difficulty_score":124,"env_os":125,"env_gpu":126,"env_ram":127,"env_deps":128,"category_tags":138,"github_topics":76,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":139,"updated_at":140,"faqs":141,"releases":169},6138,"finic-ai\u002Frag-stack","rag-stack","🤖 Deploy a private ChatGPT alternative hosted within your VPC. 🔮 Connect it to your organization's knowledge base and use it as a corporate oracle. Supports open-source LLMs like Llama 2, Falcon, and GPT4All.","rag-stack 是一款帮助企业在私有云环境（VPC）中部署专属 AI 助手的开源工具。它能让组织安全地连接内部知识库（如 PDF 文档、Salesforce 数据等），打造仅服务于内部的“企业智慧大脑”，有效解决通用大模型无法访问最新内部数据及数据隐私泄露的痛点。\n\n该工具特别适合希望构建私有化问答系统、注重数据安全的开发者和企业技术团队。其核心亮点在于采用了检索增强生成（RAG）技术，相比微调模型，这种方式成本更低、响应更快且信息来源可追溯。rag-stack 支持多种主流开源大模型，本地运行时可使用适配普通 CPU 的 GPT4All，云端部署则支持调用 GPU 加速的 Llama 2 或 Falcon-7b。此外，它集成了高性能的 Rust 语言向量数据库 Qdrant，并提供简洁的服务端与用户界面，让用户上传文档后即可立即开启智能对话，轻松实现从文档管理到知识查询的无缝衔接。","# 🧺 RAGstack\n\nDeploy a private ChatGPT alternative hosted within your VPC. Connect it to your organization's knowledge base and use it as a corporate oracle. Supports open-source LLMs like Llama 2, Falcon, and GPT4All.\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fvhxm8qMQc\">\n    \u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1131844815005429790?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2\" \u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpsychicapi\u002Frag-stack\u002Fissues?q=is%3Aissue+is%3Aclosed\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-closed\u002Fpsychicapi\u002Fpsychic?color=blue\" alt=\"Issues\">\n\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fpsychicapi\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fpsychicapi?style=social\" alt=\"Twitter\">\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n**Retrieval Augmented Generation (RAG)** is a technique where the capabilities of a large language model (LLM) are augmented by retrieving information from other systems and inserting them into the LLM’s context window via a prompt. This gives LLMs information beyond what was provided in their training data, which is necessary for almost every enterprise use case. Examples include data from current web pages, data from SaaS apps like Confluence or Salesforce, and data from documents like sales contracts and PDFs.\n\nRAG works better than fine-tuning the model because it’s cheaper, it’s faster, and it’s more reliable since the source of information is provided with each response.\n\nRAGstack deploys the following resources for retrieval-augmented generation:\n\n### Open-source LLM\n\n- GPT4All: When you run locally, RAGstack will download and deploy Nomic AI's [gpt4all](https:\u002F\u002Fgithub.com\u002Fnomic-ai\u002Fgpt4all) model, which runs on consumer CPUs.\n\n- Falcon-7b: On the cloud, RAGstack deploys Technology Innovation Institute's [falcon-7b](https:\u002F\u002Fhuggingface.co\u002Ftiiuae\u002Ffalcon-7b) model onto a GPU-enabled GKE cluster.\n\n- LLama 2: On the cloud, RAGstack can also deploy the 7B paramter version of Meta's [Llama 2](https:\u002F\u002Fai.meta.com\u002Fllama\u002F) model onto a GPU-enabled GKE cluster.\n\n### Vector database\n\n- [Qdrant](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant): Qdrant is an open-source vector database written in Rust, so it's highly performant and self-hostable.\n\n### Server + UI\n\nSimple server and UI that handles PDF upload, so that you can chat over your PDFs using Qdrant and the open-source LLM of choice.\n\u003Cimg width=\"800\" alt=\"Screenshot 2023-08-02 at 9 22 27 PM\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffinic-ai_rag-stack_readme_37c2316ff808.png\">\n\n## Run locally\n\n1. Copy `ragstack-ui\u002Flocal.env` into `ragstack-ui\u002F.env`\n2. Copy `server\u002Fexample.env` into `server\u002F.env`\n3. In `server\u002F.env` replace `YOUR_SUPABASE_URL` with your supabase project url and `YOUR_SUPABASE_KEY` with your supabase secret API key. In `ragstack-ui\u002F.env` replace `YOUR_SUPABASE_URL` with your supabase project url and `YOUR_SUPABASE_PUBLIC_KEY` with your supabase secret API key. You can find these values in your supabase dashboard under [Settings > API](https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fapi\u002Fapi-keys)\n4. In Supabase, create a table `ragstack_users` with the following columns:\n   | Column name | Type |\n   | ----------- | ---- |\n   | id | uuid |\n   | app_id | uuid |\n   | secret_key | uuid |\n   | email | text |\n   | avatar_url | text |\n   | full_name | text |\n\nIf you added row level security, make sure that inserts and selects have a `WITH CHECK` expression of `(auth.uid() = id)`.\n\n5. Run `scripts\u002Flocal\u002Frun-dev`. This will download [ggml-gpt4all-j-v1.3-groovy.bin](https:\u002F\u002Fgpt4all.io\u002Fmodels\u002Fggml-gpt4all-j-v1.3-groovy.bin) into `server\u002Fllm\u002Flocal\u002F` and run the server, LLM, and Qdrant vector database locally.\n\nAll services will be ready once you see the following message:\n\n```\nINFO:     Application startup complete.\n```\n\n## Deploy to Google Cloud\n\nTo deploy the RAG stack using `Falcon-7B` running on GPUs to your own google cloud instance, go through the following steps:\n\n1. Run `scripts\u002Fgcp\u002Fdeploy-gcp.sh`. This will prompt you for your GCP project ID, service account key file, and region as well as some other parameters (model, HuggingFace token etc).\n2. If you get an error on the `Falcon-7B` deployment step, run the following commands and then run `scripts\u002Fgcp\u002Fdeploy-gcp.sh` again:\n\n```\ngcloud config set compute\u002Fzone YOUR-REGION-HERE\ngcloud container clusters get-credentials gpu-cluster\nkubectl apply -f https:\u002F\u002Fraw.githubusercontent.com\u002FGoogleCloudPlatform\u002Fcontainer-engine-accelerators\u002Fmaster\u002Fnvidia-driver-installer\u002Fcos\u002Fdaemonset-preloaded.yaml\n```\n\nThe deployment script was implemented using Terraform.\n\n3. You can run the frontend by creating a `.env` file in `ragstack-ui` and setting `VITE_SERVER_URL` to the url of the `ragstack-server` instance in your Google Cloud run.\n\n## Deploy to AWS\n\nTo deploy the RAG stack using `Falcon-7B` running on GPUs to your own AWS EC2 instances (using ECS), go through the following steps:\n\n1. Run `scripts\u002Faws\u002Fdeploy-aws.sh`. This will prompt you for your AWS credentials as well as some other parameters (model, HuggingFace token etc).\n\nThe deployment script was implemented using Terraform.\n\n3. You can run the frontend by creating a `.env` file in `ragstack-ui` and setting `VITE_SERVER_URL` to the url of the ALB instance.\n\n## Deploy to Azure\n\nTo deploy the RAG stack using `Falcon-7B` running on GPUs to your own AKS, go through the following steps:\n\n1. Run `.\u002Fazure\u002Fdeploy-aks.sh`. This will prompt you for your AKS subscription as well as some other parameters (model, HuggingFace token etc).\n\nThe deployment script was implemented using Terraform.\n\n1. You can run the frontend by creating a `.env` file in `ragstack-ui` and setting `VITE_SERVER_URL` to the url of the `ragstack-server` service in your AKS.\n\n_Please note that this AKS deployment is using node pool with NVIDIA Tesla T4 Accelerator which is not in all subscriptions available_\n\n## Roadmap\n\n- ✅ GPT4all support\n- ✅ Falcon-7b support\n- ✅ Deployment on GCP\n- ✅ Deployment on AWS\n- ✅ Deployment on Azure\n- 🚧 Llama-2-40b support\n\n## Credits\n\nThe code for containerizing Falcon 7B is from Het Trivedi's [tutorial repo](https:\u002F\u002Fgithub.com\u002Fhtrivedi99\u002Ffalcon-7b-truss). Check out his Medium article on how to dockerize Falcon [here](https:\u002F\u002Ftowardsdatascience.com\u002Fdeploying-falcon-7b-into-production-6dd28bb79373)!\n","# 🧺 RAGstack\n\n在您的 VPC 内部署一个私有 ChatGPT 替代方案。将其连接到贵组织的知识库，并用作企业级智能助手。支持 Llama 2、Falcon 和 GPT4All 等开源大模型。\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Fvhxm8qMQc\">\n    \u003Cimg alt=\"Discord\" src=\"https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1131844815005429790?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2\" \u002F>\n\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fpsychicapi\u002Frag-stack\u002Fissues?q=is%3Aissue+is%3Aclosed\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues-closed\u002Fpsychicapi\u002Fpsychic?color=blue\" alt=\"Issues\">\n\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fpsychicapi\" target=\"_blank\">\n    \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fpsychicapi?style=social\" alt=\"Twitter\">\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n**检索增强生成 (RAG)** 是一种技术，它通过从其他系统中检索信息，并将这些信息以提示的形式插入到大语言模型 (LLM) 的上下文窗口中，从而增强 LLM 的能力。这使得 LLM 能够获取超出其训练数据范围的信息，而这是几乎所有企业应用场景所必需的。例如，可以从当前网页、Confluence 或 Salesforce 等 SaaS 应用程序中获取数据，也可以从销售合同、PDF 文档等文件中提取信息。\n\n与微调模型相比，RAG 具有更好的效果，因为它成本更低、速度更快且更可靠，因为每次响应都会提供信息来源。\n\nRAGstack 会部署以下资源来实现检索增强生成：\n\n### 开源大模型\n\n- GPT4All：在本地运行时，RAGstack 会下载并部署 Nomic AI 的 [gpt4all](https:\u002F\u002Fgithub.com\u002Fnomic-ai\u002Fgpt4all) 模型，该模型可在消费级 CPU 上运行。\n- Falcon-7b：在云端，RAGstack 会将 Technology Innovation Institute 的 [falcon-7b](https:\u002F\u002Fhuggingface.co\u002Ftiiuae\u002Ffalcon-7b) 模型部署到配备 GPU 的 GKE 集群上。\n- LLama 2：在云端，RAGstack 还可以将 Meta 的 [Llama 2](https:\u002F\u002Fai.meta.com\u002Fllama\u002F) 模型的 7B 参数版本部署到配备 GPU 的 GKE 集群上。\n\n### 向量数据库\n\n- [Qdrant](https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant)：Qdrant 是一个用 Rust 编写的开源向量数据库，性能优异且可自行托管。\n\n### 服务器 + UI\n\n一个简单的服务器和用户界面，用于处理 PDF 上传，以便您可以通过 Qdrant 和选定的开源大模型与您的 PDF 文件进行对话。\n\u003Cimg width=\"800\" alt=\"Screenshot 2023-08-02 at 9 22 27 PM\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffinic-ai_rag-stack_readme_37c2316ff808.png\">\n\n## 本地运行\n\n1. 将 `ragstack-ui\u002Flocal.env` 复制到 `ragstack-ui\u002F.env`。\n2. 将 `server\u002Fexample.env` 复制到 `server\u002F.env`。\n3. 在 `server\u002F.env` 中，将 `YOUR_SUPABASE_URL` 替换为您的 Supabase 项目 URL，将 `YOUR_SUPABASE_KEY` 替换为您的 Supabase 秘密 API 密钥。在 `ragstack-ui\u002F.env` 中，将 `YOUR_SUPABASE_URL` 替换为您的 Supabase 项目 URL，将 `YOUR_SUPABASE_PUBLIC_KEY` 替换为您的 Supabase 秘密 API 密钥。您可以在 Supabase 控制台的 [设置 > API](https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fapi\u002Fapi-keys) 中找到这些值。\n4. 在 Supabase 中，创建一个名为 `ragstack_users` 的表，包含以下列：\n   | 列名       | 类型   |\n   | ----------- | ------ |\n   | id         | uuid   |\n   | app_id     | uuid   |\n   | secret_key | uuid   |\n   | email      | text   |\n   | avatar_url | text   |\n   | full_name  | text   |\n\n如果您启用了行级安全策略，请确保插入和查询操作具有 `(auth.uid() = id)` 的 `WITH CHECK` 表达式。\n5. 运行 `scripts\u002Flocal\u002Frun-dev`。这将下载 [ggml-gpt4all-j-v1.3-groovy.bin](https:\u002F\u002Fgpt4all.io\u002Fmodels\u002Fggml-gpt4all-j-v1.3-groovy.bin) 到 `server\u002Fllm\u002Flocal\u002F` 目录下，并在本地运行服务器、大模型和 Qdrant 向量数据库。\n当您看到以下消息时，所有服务即准备就绪：\n\n```\nINFO:     Application startup complete.\n```\n\n## 部署到 Google Cloud\n\n要使用运行在 GPU 上的 `Falcon-7B` 将 RAG 栈部署到您自己的 Google Cloud 实例上，请按照以下步骤操作：\n\n1. 运行 `scripts\u002Fgcp\u002Fdeploy-gcp.sh`。此脚本会提示您输入 GCP 项目 ID、服务账户密钥文件和区域以及其他参数（模型、HuggingFace 令牌等）。\n2. 如果在部署 `Falcon-7B` 时出现错误，请运行以下命令，然后再次运行 `scripts\u002Fgcp\u002Fdeploy-gcp.sh`：\n\n```\ngcloud config set compute\u002Fzone YOUR-REGION-HERE\ngcloud container clusters get-credentials gpu-cluster\nkubectl apply -f https:\u002F\u002Fraw.githubusercontent.com\u002FGoogleCloudPlatform\u002Fcontainer-engine-accelerators\u002Fmaster\u002Fnvidia-driver-installer\u002Fcos\u002Fdaemonset-preloaded.yaml\n```\n\n部署脚本是使用 Terraform 实现的。\n\n3. 您可以通过在 `ragstack-ui` 目录下创建一个 `.env` 文件，并将 `VITE_SERVER_URL` 设置为您 Google Cloud Run 中 `ragstack-server` 实例的 URL 来运行前端。\n\n## 部署到 AWS\n\n要使用运行在 GPU 上的 `Falcon-7B` 将 RAG 栈部署到您自己的 AWS EC2 实例上（使用 ECS），请按照以下步骤操作：\n\n1. 运行 `scripts\u002Faws\u002Fdeploy-aws.sh`。此脚本会提示您输入 AWS 凭证以及其他参数（模型、HuggingFace 令牌等）。\n\n部署脚本是使用 Terraform 实现的。\n\n3. 您可以通过在 `ragstack-ui` 目录下创建一个 `.env` 文件，并将 `VITE_SERVER_URL` 设置为您 ALB 实例的 URL 来运行前端。\n\n## 部署到 Azure\n\n要使用运行在 GPU 上的 `Falcon-7B` 将 RAG 栈部署到您自己的 AKS 上，请按照以下步骤操作：\n\n1. 运行 `.\u002Fazure\u002Fdeploy-aks.sh`。此脚本会提示您输入 AKS 订阅以及其他参数（模型、HuggingFace 令牌等）。\n\n部署脚本是使用 Terraform 实现的。\n\n1. 您可以通过在 `ragstack-ui` 目录下创建一个 `.env` 文件，并将 `VITE_SERVER_URL` 设置为您 AKS 中 `ragstack-server` 服务的 URL 来运行前端。\n\n*请注意，此 AKS 部署使用的是配备 NVIDIA Tesla T4 加速卡的节点池，而并非所有订阅都支持此配置。*\n\n## 路线图\n\n- ✅ 支持 GPT4all\n- ✅ 支持 Falcon-7b\n- ✅ 支持 GCP 部署\n- ✅ 支持 AWS 部署\n- ✅ 支持 Azure 部署\n- 🚧 支持 Llama-2-40b\n\n## 致谢\n\n用于容器化 Falcon 7B 的代码来自 Het Trivedi 的 [教程仓库](https:\u002F\u002Fgithub.com\u002Fhtrivedi99\u002Ffalcon-7b-truss)。请查看他在 Medium 上发表的关于如何将 Falcon 容器化的文章 [这里](https:\u002F\u002Ftowardsdatascience.com\u002Fdeploying-falcon-7b-into-production-6dd28bb79373)!","# RAGstack 快速上手指南\n\nRAGstack 是一个可部署在私有云（VPC）内的开源 ChatGPT 替代方案。它支持连接企业知识库，利用检索增强生成（RAG）技术，让开源大模型（如 Llama 2、Falcon、GPT4All）基于您的文档（PDF 等）进行问答。\n\n## 环境准备\n\n### 系统要求\n- **本地运行**：\n  - 操作系统：Linux \u002F macOS \u002F Windows (WSL2)\n  - CPU：支持运行 GPT4All 模型的消费级 CPU\n  - 内存：建议 8GB 以上\n  - Docker & Docker Compose（推荐用于管理向量数据库和服务）\n- **云端部署（GPU 加速）**：\n  - Google Cloud (GKE), AWS (ECS\u002FEC2), 或 Azure (AKS) 账号\n  - 具备 GPU 资源的集群（用于运行 Falcon-7B 或 Llama 2）\n  - Terraform（云端部署脚本依赖）\n\n### 前置依赖\n1. **Git**：用于克隆代码库。\n2. **Supabase 账号**：用于用户认证和数据存储（本地和云端均需）。\n3. **云厂商 CLI 工具**（仅云端部署需要）：\n   - GCP: `gcloud`\n   - AWS: `aws-cli`\n   - Azure: `az-cli`\n4. **Hugging Face Token**（可选）：如果需要下载受保护的模型（如 Llama 2），需提前在 Hugging Face 获取 Access Token。\n\n> **注意**：国内开发者若遇到模型下载缓慢问题，建议配置 Hugging Face 镜像源或使用代理加速。\n\n---\n\n## 安装步骤\n\n### 方案一：本地运行（推荐初学者）\n\n此方案使用 GPT4All 模型，无需 GPU，直接在本地 CPU 运行。\n\n1. **克隆项目**\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fpsychicapi\u002Frag-stack.git\n   cd rag-stack\n   ```\n\n2. **配置环境变量**\n   复制示例配置文件到实际配置位置：\n   ```bash\n   cp ragstack-ui\u002Flocal.env ragstack-ui\u002F.env\n   cp server\u002Fexample.env server\u002F.env\n   ```\n\n3. **配置 Supabase 密钥**\n   登录 [Supabase Dashboard](https:\u002F\u002Fsupabase.com\u002Fdashboard)，进入 `Settings > API` 获取密钥。\n   \n   - 编辑 `server\u002F.env`：\n     替换 `YOUR_SUPABASE_URL` 和 `YOUR_SUPABASE_KEY`。\n   - 编辑 `ragstack-ui\u002F.env`：\n     替换 `YOUR_SUPABASE_URL` 和 `YOUR_SUPABASE_PUBLIC_KEY`。\n\n4. **初始化数据库表**\n   在 Supabase SQL Editor 中执行以下语句创建 `ragstack_users` 表：\n   ```sql\n   create table ragstack_users (\n     id uuid primary key,\n     app_id uuid,\n     secret_key uuid,\n     email text,\n     avatar_url text,\n     full_name text\n   );\n   ```\n   *如果启用了行级安全策略 (RLS)，请确保 Insert\u002FSelect 策略包含 `(auth.uid() = id)` 检查。*\n\n5. **启动服务**\n   运行本地开发脚本，它将自动下载模型并启动服务器、LLM 和 Qdrant 向量数据库：\n   ```bash\n   scripts\u002Flocal\u002Frun-dev\n   ```\n   当看到 `INFO: Application startup complete.` 时，表示启动成功。\n\n### 方案二：云端部署（生产环境\u002FGPU）\n\n#### 部署到 Google Cloud (GCP)\n```bash\nscripts\u002Fgcp\u002Fdeploy-gcp.sh\n```\n按提示输入 GCP Project ID、Service Account 密钥文件路径、区域及模型参数。\n*若遇到 Falcon-7B 部署错误，请先执行以下命令修复驱动，再重试部署脚本：*\n```bash\ngcloud config set compute\u002Fzone YOUR-REGION-HERE\ngcloud container clusters get-credentials gpu-cluster\nkubectl apply -f https:\u002F\u002Fraw.githubusercontent.com\u002FGoogleCloudPlatform\u002Fcontainer-engine-accelerators\u002Fmaster\u002Fnvidia-driver-installer\u002Fcos\u002Fdaemonset-preloaded.yaml\n```\n\n#### 部署到 AWS\n```bash\nscripts\u002Faws\u002Fdeploy-aws.sh\n```\n按提示输入 AWS 凭证及模型参数。\n\n#### 部署到 Azure\n```bash\n.\u002Fazure\u002Fdeploy-aks.sh\n```\n按提示输入 AKS 订阅信息及模型参数。\n*注意：此部署依赖包含 NVIDIA Tesla T4 加速器的节点池，请确认您的订阅可用。*\n\n---\n\n## 基本使用\n\n### 1. 配置前端连接\n无论本地还是云端部署，最后一步都是配置前端以连接后端服务。\n\n- 进入前端目录：\n  ```bash\n  cd ragstack-ui\n  ```\n- 创建或编辑 `.env` 文件，设置 `VITE_SERVER_URL`：\n  - **本地运行**：通常设置为 `http:\u002F\u002Flocalhost:8000` (具体端口视 `run-dev` 输出而定)。\n  - **云端运行**：设置为云服务商提供的负载均衡器 (ALB) 或 Cloud Run 服务地址。\n\n### 2. 上传文档并对话\n1. 在浏览器打开前端地址（本地通常为 `http:\u002F\u002Flocalhost:5173` 或脚本输出的地址）。\n2. 登录\u002F注册账号（数据存储在您的 Supabase 实例中）。\n3. **上传 PDF**：在界面中上传您的知识库文档（如销售合同、技术手册等）。\n4. **开始提问**：在聊天框中输入问题，系统将自动检索文档内容并结合开源大模型生成回答。\n\n### 3. 验证运行状态\n本地运行时，观察终端日志。模型文件（如 `ggml-gpt4all-j-v1.3-groovy.bin`）会自动下载到 `server\u002Fllm\u002Flocal\u002F` 目录。一旦服务就绪，即可通过 UI 进行交互。","某中型科技公司的法务团队急需在内部快速检索并分析数百份历史销售合同与合规文档，以应对突发的审计需求。\n\n### 没有 rag-stack 时\n- **数据孤岛严重**：合同散落在不同的 PDF 文件、Confluence 页面和本地硬盘中，人工查找一份特定条款平均耗时 30 分钟以上。\n- **信息更新滞后**：通用大模型无法知晓公司最新的内部政策，回答往往基于过时的训练数据，存在合规风险。\n- **数据隐私担忧**：将敏感的商业合同上传至公共云端的 AI 服务违反公司安全规定，导致团队不敢使用任何智能辅助工具。\n- **部署成本高昂**：若自建类似系统，需单独协调向量数据库、开源模型和后端服务，运维门槛极高。\n\n### 使用 rag-stack 后\n- **私有化知识聚合**：rag-stack 直接部署在公司 VPC 内，一键连接内部知识库，员工上传 PDF 即可立即对全量文档进行自然语言问答。\n- **实时精准应答**：利用 RAG 技术，rag-stack 能实时检索最新合同条款并生成带来源引用的回答，确保信息准确且可追溯。\n- **数据安全可控**：所有数据处理均在内部网络完成，支持 Llama 2 或 Falcon 等开源模型，彻底杜绝敏感数据外泄风险。\n- **开箱即用体验**：无需复杂配置，rag-stack 自动整合向量数据库 Qdrant 与 UI 界面，法务人员几分钟内即可开始“对话式”查档。\n\nrag-stack 让企业在保障数据绝对隐私的前提下，以极低成本将沉睡的内部文档转化为随问随答的智能企业智库。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffinic-ai_rag-stack_37c2316f.png","finic-ai","Finic","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffinic-ai_37bb8c24.png","Open source iPaaS for python developers",null,"founders@finic.ai","https:\u002F\u002Ffinic.ai\u002F","https:\u002F\u002Fgithub.com\u002Ffinic-ai",[81,85,89,93,96,100,104,108,112,116],{"name":82,"color":83,"percentage":84},"TypeScript","#3178c6",44,{"name":86,"color":87,"percentage":88},"Python","#3572A5",35.7,{"name":90,"color":91,"percentage":92},"HCL","#844FBA",11.1,{"name":94,"color":95,"percentage":10},"Shell","#89e051",{"name":97,"color":98,"percentage":99},"JavaScript","#f1e05a",1.8,{"name":101,"color":102,"percentage":103},"PowerShell","#012456",1.5,{"name":105,"color":106,"percentage":107},"Dockerfile","#384d54",1.1,{"name":109,"color":110,"percentage":111},"HTML","#e34c26",0.8,{"name":113,"color":114,"percentage":115},"CSS","#663399",0.6,{"name":117,"color":118,"percentage":119},"ASP.NET","#9400ff",0.3,1591,140,"2026-04-08T16:44:10","MIT",4,"Linux, macOS","本地运行 (GPT4All) 仅需 CPU；云端部署 (Falcon-7b\u002FLlama 2) 必需 NVIDIA GPU (如 Tesla T4)，需启用 GPU 的 Kubernetes 集群","未说明 (本地运行需满足 GPT4All CPU 模型需求，云端取决于所选 LLM 模型)",{"notes":129,"python":130,"dependencies":131},"该工具支持两种模式：1. 本地模式：使用 GPT4All 模型，可在普通消费级 CPU 上运行，无需 GPU，启动脚本会自动下载约几 GB 的模型文件。2. 云端模式：在 GCP、AWS 或 Azure 上部署 Falcon-7b 或 Llama 2 模型，必须配置带有 NVIDIA GPU (如 Tesla T4) 的 Kubernetes 集群 (GKE\u002FEKS\u002FAKS)。本地开发需配置 Supabase 数据库并创建指定表结构。云端部署脚本基于 Terraform 实现。","未说明",[132,133,134,135,136,137],"Qdrant","GPT4All","Falcon-7b","Llama 2","Terraform","Supabase",[35,14,16],"2026-03-27T02:49:30.150509","2026-04-10T15:43:11.757347",[142,147,152,157,161,165],{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},27786,"在 Mac 上运行本地服务器时，LLM 返回乱码或发送按钮报错怎么办？","这通常由两个原因导致：\n1. **UI 链接错误**：缺少环境变量配置。请将 `ragstack-ui\u002Flocal.env` 文件的内容复制到 `ragstack-ui\u002F.env` 文件中。\n2. **模型文件损坏**：gpt4all 模型文件可能已损坏。请删除 `server\u002Fllm\u002Flocal\u002F` 目录下的 `ggml-gpt4all-j-v1.3-groovy.bin` 文件，然后重新运行脚本以自动重新下载模型。","https:\u002F\u002Fgithub.com\u002Ffinic-ai\u002Frag-stack\u002Fissues\u002F3",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},27787,"执行本地脚本后服务启动成功，但访问 localhost:8080 显示 'Not Found' 如何解决？","这通常是由于 `gpt4all` 或 `torch` 版本不兼容导致的。请尝试以下步骤修复：\n1. 打开 `server\u002Fpyproject.toml` 文件。\n2. 将依赖版本修改为：`gpt4all = \"1.0.0\"` 和 `torch = \">=2.0.0, !=2.0.1, !=2.1.0\"`。\n3. 进入 `server` 文件夹，运行 `poetry lock` 命令重新锁定依赖。\n4. 重新启动服务。","https:\u002F\u002Fgithub.com\u002Ffinic-ai\u002Frag-stack\u002Fissues\u002F47",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},27788,"启动时遇到 'ModuleNotFoundError: No module named weaviate' 错误怎么办？","即使通过 pip 安装了 `weaviate-client`，项目内部导入时仍可能找不到 `weaviate` 模块。这通常是因为项目使用 Poetry 管理依赖，而 pip 安装的包未进入 Poetry 环境。\n解决方案：\n1. 确保在项目的 `server` 目录下操作。\n2. 运行 `poetry install` 以确保所有依赖（包括 weaviate）正确安装到虚拟环境中。\n3. 如果不需要 Weaviate，可以在 `.env` 文件中设置 `USE_WEAVIATE_VECTORSTORE=false`（需确保代码逻辑支持完全跳过该模块导入，否则仍需修复依赖）。","https:\u002F\u002Fgithub.com\u002Ffinic-ai\u002Frag-stack\u002Fissues\u002F29",{"id":158,"question_zh":159,"answer_zh":160,"source_url":146},27789,"如何在本地环境中正确配置环境变量以修复 UI 连接问题？","很多用户在首次运行时遇到 UI 无法连接后端的问题，原因是缺少 `.env` 文件。解决方法是手动创建或复制配置文件：找到项目中的 `ragstack-ui\u002Flocal.env` 文件，将其所有内容复制并粘贴到新创建的 `ragstack-ui\u002F.env` 文件中，然后重启开发服务器。",{"id":162,"question_zh":163,"answer_zh":164,"source_url":146},27790,"gpt4all 模型响应乱码是否意味着 Mac 不支持该功能？","不是 Mac 不支持。响应乱码通常是因为下载的模型文件（`.bin`）在下载过程中损坏或不完整。不需要更换操作系统，只需删除旧的模型文件（位于 `server\u002Fllm\u002Flocal\u002F`），让程序重新下载完整的模型文件即可恢复正常。",{"id":166,"question_zh":167,"answer_zh":168,"source_url":151},27791,"ReadMe 中没有提到 Weaviate 配置，默认应该如何设置？","如果 ReadMe 中未明确说明且你不想使用 Weaviate 向量数据库，可以在项目根目录或 server 目录的 `.env` 文件中显式添加配置项 `USE_WEAVIATE_VECTORSTORE=false` 来禁用它，以避免因缺少相关服务或依赖导致的启动错误。",[]]