使用说明
MCP聊天应用程序
这是一个简单的基于Django的聊天应用程序,演示了如何与符合多功能协议(MCP)的代理集成。该应用程序允许用户上传文档,然后与人工智能代理聊天,人工智能代理可以使用这些文档的内容来回答问题。
特性
- 文档上传(文本和PDF)。
- 从上传的文档中提取文本。
- 一个简单的聊天界面,用于与AI代理进行交互。
- 一个类似MCP的清单,将上传的文档作为资源公开。
项目结构
该项目组织如下:
mcp_chat/
├── docker-compose.yml
└── mcp_app/
├── Dockerfile
├── entrypoint.sh
├── manage.py
├── requirements.txt
├── chatapp/
│ ├── migrations/
│ ├── static/
│ ├── templates/
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
└── mcp_app/
├── __init__.py
├── asgi.py
├── settings.py
├── urls.py
└── wsgi.py
如何跑步
该项目旨在使用Docker和Docker Compose运行。
先决条件
- 码头工人
- Docker Compose
运行应用程序
-
克隆存储库:
git clone <repository-url> cd mcp_chat -
环境变量: 应用程序使用中定义的环境变量
docker-compose.yml配置Django设置。您可以创建.env项目根目录中的文件,以覆盖默认值。最重要的变量是:DJANGO_SECRET_KEY:Django应用程序的密钥。AI_AGENT_API_URL:您要连接的AI代理的URL。AI_AGENT_API_AUTH:AI代理的认证令牌(例如。,Bearer <your-token>).
-
构建并运行容器:
docker-compose up --build这将为web应用程序构建Docker映像,并启动web和数据库容器。
-
访问应用程序: 容器运行后,您可以在以下位置访问应用程序
http://localhost:8000.
运行管理命令
您可以使用以下命令运行Django管理命令 docker-compose exec例如,要创建超级用户:
docker-compose exec web python manage.py createsuperuser
它是如何工作的
- 后端:后端是Django应用程序,为聊天界面提供服务,并为AI代理访问文档提供API。
- 前端前端是一个简单的HTML/CSS/JavaScript界面,允许用户上传文档并与AI代理聊天。
- MCP集成:应用程序在以下位置公开清单
/mcp/manifest/它列出了可用的文档。然后,AI代理可以使用清单中提供的URL获取这些文档的内容。 - 数据库PostgreSQL数据库用于存储文档元数据和提取的文本。