# ai-chatkit **Repository Path**: py-service/ai-chatkit ## Basic Information - **Project Name**: ai-chatkit - **Description**: https://github.com/pasonk/ai-chatkit AI Agent全栈聊天工具,集成了基于LangGraph的复杂智能体、高性能的FastAPI后端和现代化的Next.js前端。更强大的是,它原生支持RAG(检索增强生成),允许你轻松地为你的Agent挂载外部知识库。https://mp.weixin.qq.com/s/kgB-YtPxieVD7cTXlyxfug - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-11 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

AI-CHATKIT

English | 中文

ai-chatkit 是一个AI Agent全栈聊天工具,基于langGraph, fastApi, nextjs, chroma等组件搭建 这个工程可以做为一个模板,帮助你使用langGraph框架快速搭建相关的AI智能体聊天应用,并且支持RAG来增强智能体的知识库问答能力。 多智能体聊天: ## 特性 1、基于langGraph框架搭建的智能体聊天应用,支持自定义智能体的行为逻辑编排。 2、支持自定义智能体的知识库问答能力,基于ChromaDB来存储和查询知识库。 3、支持自定义智能体的工具调用 4、Python后端接口API,基于FastAPI来实现,支持全异步调用。 5、支持自定义智能体的前端应用,基于NextJS来实现。 6、支持聊天Streaming流输出,前端支持SSE流输出。 7、支持自定义多个智能体 8、支持多智能体协作 9、聊天历史记录保存在本地浏览器缓存中 ## 结构 - `backend` : 后端服务代码 - `frontend`: 前端服务代码 ## 快速开始 ### 后端服务 后端.env文件配置 修改.env.example文件名为.env ```properties # 环境变量配置 # 数据库配置 #slqlite url DATABASE_URL=sqlite+aiosqlite:///resource/database.db #mysql # DATABASE_URL=mysql+aiomysql://root:root@localhost/ai-chatkit # 应用配置 DEBUG=True APP_NAME=AI ChatKit # openai OPENAI_API_KEY DEFAULT_MODEL=gpt-4o-mini # 通义千问API,因为deepseek的api响应比较慢,如果用不了openai的api,建议使用阿里百炼的api #DASHSCOPE_API_KEY= #DEFAULT_MODEL=qwen-plus # deepseek api #DEEPSEEK_API_KEY= #DEFAULT_MODEL=deepseek-chat # 使用bge-m3为embedding模型,支持中英双文,需要本地通过ollama部署bge-me模型 EMBEDDING_MODEL=bge-m3 #chromadb的相对存储路径 CHROMA_PATH=resource/chroma_db ``` 启动后端服务: ```sh # Use the uv tool to manage Python dependencies pip install uv # Replace ${workdir} with your own working directory cd ${workdir}/backend uv sync --frozen # activate a Python virtual environment. source .venv/bin/activate # activate the environment variables on windows # .venv/Script/active #run server python app/run_server.py ``` ### RAG 部署 本工程默认访问本地的ollama部署的bge-m3,故如果要在本地访问知识库,则需要本地部署ollama,本地ollama部署bge-m3请参考:https://ollama.com/library/bge-m3 ### 前端应用 ```sh # ${workdir}替换为你自己的工作目录 cd ${workdir}/frontend # 采用pnpm管理依赖包 pnpm install # 启动前端应用 pnpm dev ``` 启动成功后则可以,访问地址:http://localhost:3000/ ### 多智能体应用 本项目你可以使用langGraph扩展创建并编排多个智能体,每个智能体可以都有自己行为逻辑,智能体的编排逻辑可以写在backend/app/ai/agent目录。 在前端你可以切换不同的智能体进行对话 本项目自带以下智能体: 1、OA-ASSISTANT:主要用于演示OA助手智能体,支持员工信息查询和员工手册知识库检索 具体可以参考:backend/app/ai/agent/oa_assistant.py 2、MULTI_AGENT:主要用于演示多智能体协作智能体,支持多个智能体之间的协作,multi_agent包含三个智能体: 1)math_agent :数学智能体, 主要用于处理数学计算 2)code_agent :代码智能体,主要用于处理代码生成 3)general_agent :通用智能体,主要用于处理通用问题 三个智能体通过supervisor进行协作管理 具体可以参考:backend/app/ai/agent/multi_agent.py