Self-Managed GenAI Strategy


title: “自托管 GenAI 策略” weight: 20


一切都运行在 Amazon EKS 上。没有托管的 AI 服务,只有 pods、Helm charts 和一些 Python。

架构概览

EKS Cluster (Auto Mode)
├── Inferentia Node Pool
│   └── vLLM (Qwen2.5-3B on Neuron)
├── litellm namespace
│   └── LiteLLM proxy (shared model plane for both tracks)
├── General Purpose Nodes
│   ├── Strands Agent
│   ├── Langfuse (Observability)
│   ├── Milvus (Vector DB / Memory)
│   ├── Neo4j (Knowledge Graph)
│   └── MCP Server (Agent Tools)
└── Services
    ├── litellm.litellm:4000 (OpenAI-compatible proxy, the one URL agents talk to)
    ├── qwen2-5-3b-neuron.vllm:8000 (upstream backend for LiteLLM)
    ├── langfuse:3000
    ├── milvus:19530
    └── neo4j:7687

实验

  1. EKS 上的模型平面 (vLLM + LiteLLM):自托管模型如何被提供服务并由 LiteLLM 作为前端
  2. 使用 Strands 的 Agents:针对共享模型平面构建并部署 agent
  3. 使用 Langfuse 的可观测性:追踪每一次 LLM 调用和工具调用
  4. 使用 Milvus 的 RAG:添加带有向量搜索的产品目录
  5. 使用 Milvus 的内存管理:通过语义搜索回忆客户过去的对话轮次
  6. Agent 工具访问 (MCP):通过 MCP 协议为 agent 提供工具
  7. 多 Agent 交互 (A2A):将一个 agent 拆分为多个专家
  8. 使用 Neo4j 的知识图谱:遍历向量搜索无法回答的关系