营养素数据服务接口封装工具

Moneypenny是一个围绕Nutrient DWS API的封装工具,提供简洁的交互界面和Docker部署支持,适用于需要便捷访问营养素数据的开发场景。

  • by Nikolichnik
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Nikolichnik/moneypenny

使用说明

钱小姐

钱小姐 是一个项目,该项目使用 nutrient-dws MCP服务器。它允许用户使用简单直观的界面轻松地与Nutriental DWS API交互。该项目旨在易于使用和部署,使其可供广大用户访问。

该项目包括一个Quart API和一个React前端,以方便与Nutriental DWS API交互,以及Docker部署脚本。使用上述脚本,API可以轻松地部署在Docker容器中,而无需任何额外的配置或安装依赖项。

项目结构

📁 moneypenny
├── 📁 moneypenny-api            # Moneypenny Quart API
│   ├── 📁 resource              # Various resources used by the running application
│   │   ├── 📁 document          # Sandbox documents
│   │   └── 📁 script            # Scripts
│   ├── 📁 src                   # Source code
│   │   ├── 📁 api               # API endpoints implementation
│   │   ├── 📁 common            # Common functions and variables
│   │   ├── 📁 domain            # Domain models
│   │   ├── 📁 factory           # Factories
│   │   ├── 📁 graph             # LangGraph implementations
│   │   ├── 📁 schema            # Schemas used throughout the application
│   │   ├── 📁 service           # Services
│   │   ├── 📁 util              # Utility functions
│   │   └── logger_config.yaml   # Logger configuration
│   ├── Pipfile                  # Python dependencies
│   └── settings.toml            # Application settings
├── 📁 moneypenny-frontend       # Moneypenny React frontend
├── 📁 moneypenny-deployment     # Moneypenny deployment scripts
│   └── 📁 docker                # Docker configuration
│       ├── 📁 compose           # Docker Compose files and relevant .env files
│       ├── 📁 image             # Docker images
│       ├── deploy.bat           # Windows deployment script
│       ├── deploy.ps1           # PowerShell deployment script
│       └── deploy.sh            # GNU/Linux and MacOS deployment script
├── README.md
├── LICENSE
└── .gitignore

部署

为了部署Moneypenny服务,请确保您有 码头工人 和 Docker Compose 安装在您的机器上。一旦这些依赖关系得到满足,请按照以下步骤操作:

  1. 添加 .env 文件在 moneypenny-deployment/docker/compose 包含相关环境变量的文件夹。这是一个例子 .env 文件:

    # Description: Environment variables for docker-compose
    
    MONEYPENNY_API_PORT=5001
    MONEYPENNY_FRONTEND_PORT=5002
    
    OPENAI_API_KEY=your_openai_api_key
    NUTRIENT_DWS_API_KEY=your_nutrient_dws_api_key
    
  2. 导航至 moneypenny-deployment/docker 文件夹。

  3. 使用实用程序脚本 deploy.sh 部署服务(注意:在下面的所有示例中,都使用了GNU/Linux和MacOS版本的脚本,但是也有Windows版本可用。请注意,Windows版本的脚本没有GNU/Linux和MacOS版本进行广泛的测试):

    ./deploy.sh up
    

就是这样!上面的命令将在Docker容器中构建和运行所有相关服务。将部署以下服务:

  • Moneypenny API -用于与Moneypenny功能交互的API服务:
    • 可在 http://localhost:5001 (默认值)。
    • API文件可在以下网址获取:
      • 斯瓦格: http://localhost:5001/docs
    • 日志可在 moneypenny-api/src/moneypenny.log.
    • 源代码和资源(文档)作为Docker卷挂载,因此对源代码或资源所做的任何更改都将反映在正在运行的容器中,反之亦然。由于我们使用的是开发Quart服务器,对源代码所做的任何更改都会自动重新启动服务器。
  • 彭尼前端 -一个简单的基于React的前端,用于与Moneypenny API交互:
    • 可在 http://localhost:5002 (默认值)。
    • 源代码作为Docker卷挂载,因此对源代码所做的任何更改都会反映在正在运行的容器中,反之亦然。由于我们使用的是Vite开发服务器,对源代码所做的任何更改都会自动重新加载前端。

停止服务

要停止所有服务,请使用以下命令:

./deploy.sh down

部署选项

为了更改默认行为 deploy.sh,使用以下选项:

  • -b 或 --build:明确构建所有相关容器。默认值为 false.
  • -e 或 --environment:默认值为 local.其他环境(dev, stage, prod 等等尚未得到支持)。

例如,为了在开发环境中部署服务并强制构建所有相关容器,请使用以下命令:

./deploy.sh up -b -e dev

运行以下命令可以找到完整的选项列表:

./deploy.sh --help

依赖项

Moneypenny API

为了在本地运行Moneypenny API(没有Docker),请确保安装了以下依赖项(包括 Pipfile 将负责安装相关的Python包):

彭尼前端

为了在本地运行Moneypenny前端(无需Docker),请确保安装了以下依赖项(包括 package.json 将负责安装相关的Node包):

用法

Moneypenny API

如果您只想使用API,您可以使用以下工具与Moneypenny API交互 邮递员 或 卷曲。如果更方便,您还可以使用API交互式文档,网址为 http://localhost:5001/docs (斯瓦格)。

彭尼前端

部署服务后,您可以访问Moneypenny前端 http://localhost:5002.前端提供了一个用于与Moneypenny API交互的简单接口。