Token导航 LogoToken导航TokenDH.com
MultiAgent with MCP logo
AI代理stdio官方级别未说明来源级核验

MultiAgent with MCP

MCP Server

HarmoniAI是一个复杂多代理聊天机器人系统,通过智能路由用户提示到专业代理处理各种任务,包括问答、内容创作、购物辅助和媒体推荐等。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
多模型支持Python向量数据库

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Roksana18cse04

提供方

Roksana18cse04

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

HarmoniAI-多智能体聊天机器人系统

概述

HarmoniAI是一个复杂的多代理聊天机器人系统,旨在通过智能地将用户提示路由到专门的代理来处理各种任务。它利用多个大型语言模型(LLM)和向量数据库,为问答、内容创建、购物辅助、媒体推荐等功能提供准确、上下文感知的响应。

该系统采用FastAPI后端构建,并利用 模型上下文协议(MCP) 规范与LLM客户的沟通和上下文共享。

主要特点

  • 多代理架构: 对用户意图进行动态分类,并将任务委托给专门的代理(例如购物、问答、内容创建)。
  • 多LLM支持: 与各种LLM提供商集成,包括OpenAI、Groq和Google Gemini,实现灵活性和优化。
  • 矢量数据库集成: 使用Weaviate对产品和媒体等上下文数据进行高效的相似性搜索和检索。
  • 实时数据索引: 从外部源异步获取和更新其知识库。
  • 符合MCP标准: 实现模型上下文协议(通过包含的 python-sdk)用于与LLM应用程序进行标准化交互。
  • 安全API: 端点使用基于JWT的身份验证进行保护。
  • 富媒体处理: 能够处理文本、图像和URL,用于图像字幕和内容生成等任务。

系统架构

  1. FastAPI服务器: 应用程序的核心,为RESTful API提供服务。
  2. 身份验证: 基于JWT的身份验证层保护API端点。
  3. 连锁代理: 中央编排器(chaining_agent.py)接收用户提示。
  4. 分类器代理: 该代理首先确定用户的意图(例如,“购物”、“聊天”)。
  5. 专业代理: 该请求被路由到适当的代理(例如。, shopping_agent, qa_agent)用于加工。
  6. LLM提供者: 所选代理使用 LLMProvider 与外部LLM(如GPT-4、Llama或Gemini)通信的服务。
  7. 编织数据库: 代理查询Weaviate矢量数据库以检索相关上下文(例如产品信息、文章),从而丰富提示。
  8. 响应生成: 代理生成最终响应,其中可能包括文本、数据或对其他模型的建议(例如,建议文本到图像模型)。

EachLabs模型注册表的作用

EachLabs服务是充当 动态模型注册表 HarmoniAI系统。它允许应用程序高度灵活和可扩展,而不需要更改代码来支持新的AI模型。

其工作原理如下:

  1. 模型发现: 在任务开始时 chaining_agent 查询EachLabs API以获得所有可用人工智能模型的完整、最新目录,包括它们的能力、类别(例如。, text-to-image)以及定价。
  2. 意图分类: 此目录由 classify_prompt_agent 了解可能的用户意图的范围。
  3. 动态模型推荐: 一旦知道意图,系统就可以过滤目录,并向用户推荐合适的型号列表。例如,如果意图是生成图像,则向用户呈现可用文本到图像模型的列表。
  4. 执行: 用户选择一个模型,然后应用程序使用该特定模型执行任务。

这种方法将应用程序的核心逻辑与其支持的特定模型解耦,只需更新EachLabs注册表,就可以轻松地在系统中添加或删除模型。

使用的技术

  • 后端: Uvicorn快速API
  • LLM集成: OpenAI、Groq、谷歌双子座
  • 数据库: Weaviate(矢量数据库)
  • LLM通信: 模型上下文协议(MCP)
  • 行程安排: APScheduler
  • 身份验证: PyJWT
  • 依赖关系:requirements.txt 查看完整列表。

设置和安装

1.克隆存储库

git clone 
cd HarmoniAI

2.创建虚拟环境

建议使用虚拟环境来管理依赖关系。

python -m venv venv
source venv/bin/activate  # On Windows, use `venv\Scripts\activate`

3.安装依赖项

安装所有必需的Python包。

pip install -r requirements.txt

4.设置环境变量

应用程序需要API密钥和其他机密。创建一个 .env 通过复制示例文件,将文件复制到根目录中:

cp .env.example .env

现在,编辑 .env 归档并添加您的凭据。以下是对每个变量的描述:

LLM和AI服务密钥

  • OPENAI_API_KEY:用于访问OpenAI服务(例如,GPT模型)的API密钥。
  • GROQ_API_KEY:Groq LLM提供商的API密钥。
  • GEMINI_API_KEY:你的API密钥为谷歌的双子星模型。
  • EACHLABS_API_KEY:EachLabs服务的API密钥,用于获取有关可用人工智能模型的信息。
  • SERPAPI_KEY:SerpApi等服务的API密钥,允许代理执行实时网络搜索以获取最新信息。

Cloudflare R2对象存储

这些变量将应用程序连接到Cloudflare R2存储桶进行文件存储。

  • R2_ENDPOINT_URL:R2存储桶的API端点URL。
  • R2_ACCESS_KEY:R2帐户的访问密钥ID。
  • R2_SECRET_KEY:您R2帐户的秘密访问密钥。
  • R2_REGION:R2 bucket的区域(例如“auto”)。
  • R2_BUCKET_NAME:要使用的R2 bucket的名称。
  • R2_PUBLIC_BASE_URL:访问存储桶中文件的面向公众的基本URL。

应用程序安全和数据库

  • JWT_ACCESS_SECRET:用于签名和验证JSON Web令牌(JWT)以保护API安全的长、随机和秘密字符串。
  • WEAVIATE_HOST:Weaviate数据库HTTP端点的主机名。
  • WEAVIATE_GRPC_HOST:Weaviate数据库的gRPC端点的主机名。
  • WEAVIATE_API_KEY:Weaviate数据库实例的身份验证密钥。

运行应用程序

设置完成后,您可以使用Uvicorn运行FastAPI服务器:

uvicorn app.main:app --host 0.0.0.0 --port 10000 --reload

--reload flag允许热重载,这对开发很有用。该应用程序将在 http://localhost:10000.

API 文档

随着服务器的运行,交互式API文档(Swagger UI)可在以下位置获得:

http://localhost:10000/docs

您可以使用此接口来探索和测试API端点。记住在“授权”部分添加JWT令牌以访问受保护的路由。

项目结构

HarmoniAI/
├── app/                  # Main application source code
│   ├── agents/           # Specialized agents for different tasks
│   ├── routes/           # API endpoint definitions
│   ├── services/         # Business logic and external service integrations
│   ├── schemas/          # Pydantic models for data validation
│   ├── main.py           # FastAPI application entry point
│   └── ...
├── python-sdk/           # Model Context Protocol (MCP) SDK
├── requirements.txt      # Project dependencies
├── .env                  # Environment variables (you need to create this)
└── README.md             # This file

目录标签

目录标签

多模型支持Python向量数据库多代理架构本地部署实时数据索引MCP协议

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP