Tanzu 平台聊天(cf-mcp-client)是一个可以部署到Cloud Foundry并消费平台AI服务的Spring聊天机器人应用程序。它使用Spring AI构建,并与大型语言模型(LLMs)、向量数据库以及模型上下文协议代理一起工作。
sdk install java 21.0.7-oraclesdk install mavenmkdir tanzu-platform-chat
cd tanzu-platform-chat
从发布页面下载最新的JAR文件和manifest.yml到此目录
从包含已下载文件的目录推送应用程序到Cloud Foundry:
cf push
cf create-service genai [plan-name] chat-llm
cf bind-service ai-tool-chat chat-llm
cf restart ai-tool-chat
现在,您的聊天机器人将使用LLM来响应聊天请求。

cf create-service genai [plan-name] embeddings-llm
cf create-service postgres on-demand-postgres-db vector-db
cf bind-service ai-tool-chat embeddings-llm
cf bind-service ai-tool-chat vector-db
cf restart ai-tool-chat
现在,您的聊天机器人将对上传的文档进行查询并作出回应

模型上下文协议(MCP)服务器是轻量级程序,通过标准化接口向AI模型暴露特定的能力。这些服务器充当了LLMs与外部工具、数据源或服务之间的桥梁,使您的AI应用程序能够执行如搜索数据库、访问文件或调用外部API等操作,而无需复杂的自定义集成。
mcpSseURL标签创建一个基于SSE的MCP服务器的用户提供的服务:cf cups mcp-server-sse -p '{"uri":"https://your-sse-mcp-server.example.com"}' -t "mcpSseURL"
cf bind-service ai-tool-chat mcp-server-sse
mcpStreamableURL标签创建一个基于可流式传输HTTP的MCP服务器的用户提供的服务:cf cups mcp-server-streamable -p '{"uri":"https://your-streamable-mcp-server.example.com"}' -t "mcpStreamableURL"
cf bind-service ai-tool-chat mcp-server-streamable
cf restart ai-tool-chat
现在,您的聊天机器人将注册到MCP代理,LLM在响应聊天请求时可以调用代理的能力。应用程序同时支持SSE和可流式传输HTTP协议。

Agent2Agent(A2A)是一种允许独立AI代理系统之间通信的协议。与提供您的LLM可以调用的工具的MCP服务器不同,A2A代理是独立的AI系统,可以直接处理消息并返回自己的智能响应。可以将MCP视为给您的聊天机器人提供工具,而A2A则让您的聊天机器人可以咨询其他专门的AI代理。
a2a标签创建一个A2A代理的用户提供的服务:cf cups a2a-agent -p '{"uri":"https://your-a2a-agent.example.com/.well-known/agent.json"}' -t "a2a"
URI应指向代理的代理卡(位于/.well-known/agent.json的JSON描述符)。
cf bind-service ai-tool-chat a2a-agent
cf restart ai-tool-chat
绑定A2A代理后:
代理消息显示为:
您可以同时绑定多个A2A代理,每个代理提供专门的能力。代理面板显示每个代理的健康状态,导航按钮根据整体代理健康状况显示状态指示器(绿色/橙色/红色)。
如果您已经绑定了向量数据库和嵌入模型,则您的聊天记忆将在应用程序重启和扩展时持久化。
