模型上下文协议E2E(端到端)应用程序
该存储库包含生成式人工智能项目的组件,包括聊天应用程序、客户端和服务器。
目录
概述
该项目展示了一个具有聊天界面的生成式人工智能系统。它分为三个主要部分:
- 聊天应用程序:前端聊天应用程序。
- mcp客户端:与服务器通信的客户端。
- mcp服务器:处理AI生成的后端服务器。
- 奥拉马:处理ollama模型的后端服务。
项目架构
MCP (Model Context Protocol) Architecture
上图说明了聊天应用程序、mcp客户端、mcp服务器和Ollama服务之间的交互。
组件
聊天应用程序
一个用户友好的网络界面,用于与生成式人工智能进行交互。采用现代网络技术构建。结账 README.md
mcp客户端
处理聊天应用程序和mcp服务器之间的通信。负责发送用户消息和接收AI响应。结账 README.md
mcp服务器
使用AI模型处理请求并生成响应的后端服务。结账 README.md
奥拉马
这是将run-ollama用作docker镜像的docker服务。 它建议使用docker来运行ollama。结账 README.md
入门指南
先决条件
克隆存储库:
git clone https://github.com/vcse59/Generative-AI-MCP-Application.git
cd Generative-AI-MCP-Application本地:
导航到存储库根目录:
- Unix/Linux/macOS(bash/zsh/fish)
cd "$(git rev-parse --show-toplevel)"- PowerShell(Windows)
cd (git rev-parse --show-toplevel)- 命令提示符(Windows上的cmd.exe)
for /f "delims=" %i in ('git rev-parse --show-toplevel') do cd "%i"创建、激活Python虚拟环境并使用pip安装诗歌:
- Windows(命令提示符):
python -m venv .venv
.venv\Scripts\activate
pip install poetry- Windows(PowerShell):
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install poetry- Unix/Linux/macOS(bash/zsh):
python3 -m venv .venv
source .venv/bin/activate
pip install poetry- 在具有活动虚拟环境的单独终端中安装每个组件的依赖关系:
cd chat-app
npm install
cd mcp-client
poetry install
cd mcp-server
poetry install
- 导航到mcp服务器项目,并在具有活动虚拟环境的新终端中启动mcp服务器:
poetry run mcp-server- 按照说明在新终端中启动docker中的ollama服务:
- 导航到新终端中的MCP客户端根目录,并为MCP客户端配置以下bash变量
### 环境变量包括:
OLLAMA_LLM_MODEL_NAME=llama3.2:latest # Can be changed
MCP_SERVER_ENDPOINT=http://127.0.0.1:8080/mcp
OLLAMA_API_URL=http://127.0.0.1:11434- 导航到mcp客户端项目,并在具有活动虚拟环境的新终端中启动mcp客户端:
poetry run uvicorn src.mcp_client.app:app --host 0.0.0.0 --port 8000 --reload- 导航到聊天应用程序项目,并在新终端中启动聊天应用程序:
npm start码头工人
您可以使用Docker Compose运行所有组件,以便于设置和部署。
- 导航到repostory根目录
- 构建并启动所有服务:
docker-compose up --build- 停止服务:
docker-compose down确保你有 码头工人 和 安装。
这 docker-compose.yml 文件定义了服务 chat-app, mcp-client,以及 mcp-server每个服务都是从其各自的目录构建的。
用法
- 在浏览器中打开聊天应用程序(http://localhost:5000).
- 输入您的消息并与AI交互。例如,
Add 10 and 299 numbers - mcp客户端和mcp服务器处理消息路由和AI生成。
安全
有关安全策略、报告漏洞和最佳实践的信息,请参阅 安全.md 文件。
许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。
