{"id":49546377,"url":"https://github.com/couchbase-examples/cpg-manufacturing-edge-ai-assistant","last_synced_at":"2026-05-02T19:39:27.795Z","repository":{"id":352118545,"uuid":"1029143004","full_name":"couchbase-examples/cpg-manufacturing-edge-ai-assistant","owner":"couchbase-examples","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-18T06:55:42.000Z","size":577,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-02T19:39:02.154Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/couchbase-examples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-30T15:30:19.000Z","updated_at":"2026-01-16T06:55:33.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/couchbase-examples/cpg-manufacturing-edge-ai-assistant","commit_stats":null,"previous_names":["couchbase-examples/cpg-manufacturing-edge-ai-assistant"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/couchbase-examples/cpg-manufacturing-edge-ai-assistant","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase-examples%2Fcpg-manufacturing-edge-ai-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase-examples%2Fcpg-manufacturing-edge-ai-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase-examples%2Fcpg-manufacturing-edge-ai-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase-examples%2Fcpg-manufacturing-edge-ai-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/couchbase-examples","download_url":"https://codeload.github.com/couchbase-examples/cpg-manufacturing-edge-ai-assistant/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couchbase-examples%2Fcpg-manufacturing-edge-ai-assistant/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32547651,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T19:18:06.202Z","status":"ssl_error","status_checked_at":"2026-05-02T19:16:21.335Z","response_time":132,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-02T19:39:27.121Z","updated_at":"2026-05-02T19:39:27.786Z","avatar_url":"https://github.com/couchbase-examples.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CPG Manufacturing AI Assistant\n\nA comprehensive AI-powered system for Consumer Packaged Goods (CPG) manufacturing operations, featuring real-time telemetry generation, intelligent troubleshooting, and edge computing capabilities.\n\n## 🏗️ System Architecture\n\n![System Architecture Overview](asserts/architecture.png)\n\n### Detailed Component Architecture\n\n**Device Layer (Raspberry Pi):**\nThe IoT device runs the `CPGIoTTelemetryGenerator` application, which simulates a production machine by generating real-time sensor readings, alerts, and quality metrics. This data is stored locally in a **Couchbase Lite** database.\n\n**Edge Layer (On-prem Gateway, plant storage):**\nThis on-prem layer runs Couchbase Edge Server in Docker at each plant, providing low-latency plant-level storage and acting as a gateway/cache. It replicates data upstream exactly as generated—no aggregation or transformation.\n\n- **Couchbase Edge Server:** Runs on-prem in Docker at each plant.\n  • **Pushes** operational data (`telemetry`, `alerts`, `quality_metrics`, `device_status`) upstream to Capella via Sync Gateway.\n  • **Pulls** configuration (`plants`, `production_lines`, `machines`) **and solution** documents down from Capella so they are available locally even when offline.\n  • Stores operational records locally for a configurable retention period; configuration \u0026 solution documents are cached permanently.\n  • Exposes a REST API (`:59840`) that the `CPGCLIAgent` uses to retrieve real-time operational and hierarchical information.\n\n**Sync Layer (Cloud Data Synchronization):**\nThis cloud-hosted layer (Capella App Services) bridges the Edge and Cloud tiers, handling secure replication.\n\n- **App Services (Sync Gateway):** Runs in Couchbase Capella Cloud and acts as the secure synchronization intermediary between Edge Servers and Capella. It uses channel-based replication on port `4984` to route data.\n\n**Cloud Layer (Central \u0026 AI):**\n\n- **Couchbase Capella:** The central cloud database. It serves as the master source of truth for knowledge data (`manuals`, `solutions`), configuration data (`plants`, `machines`), and operational data for analytics.\n- **Python Setup System:** A set of scripts used for one-time data initialization, including processing manuals and generating sample data in Capella.\n- **Google Gemini AI:** An external Large Language Model, integrated via **LangChain4j**, that provides natural language understanding and reasoning for the CLI agent.\n\n**CPG CLI Agent (Mobile/Field Application):**\nThis application represents a user-facing tool (like a mobile or tablet app for a field technician). It does *not* run on the Edge Server. It has two primary toolsets for interacting with the system:\n\n- **EdgeServerTools:** Makes API calls to the **Couchbase Edge Server** to query real-time operational data, alerts, solutions and hierarchical information like plant and machine details.\n- **ManualSearchTools:** Uses a Couchbase Lite **replicator** to pull `manuals` from Capella (via App Services) into a local CBLite database, where an **on-device vector index is built during initialization**. This enables fast, offline-capable semantic search of documentation.\n\n### Data Flow Summary\n\n- **Operational Data (Upward Push):** `telemetry`, `alerts`, `quality_metrics`, and `device_status` flow from the Raspberry Pi's CBLite DB → Edge Server → App Services, and are stored in Capella.\n- **Knowledge Data (Downward Pull):**\n  - `solutions` are pulled from Capella to the Edge Server.\n  - `manuals` are pulled from Capella all the way to the CPG CLI Agent's local CBLite database for vector search.\n- **Configuration Data (Downward Pull):** `plants`, `production_lines`, and `machines` are pulled from Capella to the Edge Server so the `CPGCLIAgent` can query them.\n\n## 📊 Data Collections \u0026 Relationships\n\n```mermaid\nerDiagram\n    PLANTS {\n        string plant_id PK\n        string name\n        string location\n        string plant_code\n        string facility_type\n        string timezone\n        string status\n        string created_date\n    }\n    \n    PRODUCTION_LINES {\n        string production_line_id PK\n        string plant_id FK\n        string name\n        string line_type\n        string primary_product\n        string status\n        string created_date\n    }\n    \n    MACHINES {\n        string machine_id PK\n        string device_id\n        string production_line_id FK\n        string plant_id FK\n        string machine_type\n        string product_type\n        string model\n        string serial_number\n        string status\n        string created_date\n    }\n    \n    TELEMETRY {\n        string device_id\n        string machine_id FK\n        string machine_type\n        string sensor_type\n        number value\n        string unit\n        string timestamp\n        string location\n        string status\n        number batch_number\n        string product_code\n        string production_line\n        string product_type\n    }\n    \n    ALERTS {\n        string alert_id PK\n        string device_id\n        string machine_id FK\n        string machine_type\n        string error_code\n        string severity\n        string status\n        string timestamp\n        string production_line\n        string product_type\n        number batch_number\n        string product_code\n        number current_value\n        number threshold\n        boolean escalation_required\n        object context\n    }\n    \n    QUALITY_METRICS {\n        string device_id\n        string machine_id FK\n        string machine_type\n        number fill_accuracy_percentage\n        number label_alignment_percentage\n        number cap_torque_inch_pounds\n        string quality_grade\n        string timestamp\n        number batch_number\n        string product_code\n        string production_line\n        string product_type\n    }\n    \n    DEVICE_STATUS {\n        string device_id PK\n        string timestamp\n        string status\n        number uptime_seconds\n        number memory_usage_mb\n        number cpu_usage_percent\n        number disk_usage_percent\n        string network_status\n        string sync_status\n        number documents_pending_sync\n    }\n    \n    SOLUTIONS {\n        string solution_id PK\n        string error_code\n        string solution_comment\n        array embeddings\n        number success_rate\n        string machine_type\n        string created_at\n        string updated_at\n    }\n    \n    MANUALS {\n        string chunk_id PK\n        string content\n        array embedding\n        object metadata\n        string created_at\n        string last_updated\n    }\n    \n    PLANTS ||--o{ PRODUCTION_LINES : contains\n    PRODUCTION_LINES ||--o{ MACHINES : contains\n    MACHINES ||--o{ TELEMETRY : generates\n    MACHINES ||--o{ ALERTS : produces\n    MACHINES ||--o{ QUALITY_METRICS : measures\n    ALERTS ||--o{ SOLUTIONS : references\n    MANUALS ||--|| MACHINES : documents\n```\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- **Docker \u0026 Docker Compose** (20.10+)\n- **Java 21+** (for local development)\n- **Python 3.8+** (for setup scripts)\n- **Google Gemini API Key** (for AI features)\n- **Couchbase Capella Account** (for cloud sync)\n\n### 1. Cloud Setup (Optional but Recommended)\n\n#### Setup Couchbase Capella\n\n1. **Create Capella Cluster:**\n\n   ```bash\n   # Visit https://cloud.couchbase.com/\n   # Sign up/in and create a new cluster\n   # Choose \"Developer Pro\" or higher for App Services\n   ```\n\n2. **Create Database and Initialize Data:**\n\n   In the Capella UI, create a bucket named `cpg_manufacturing` and enable App Services.\n\n   After creating the bucket, run the setup script to create the required collections, scope, and synthetic data. This script requires Python dependencies.\n\n   ```bash\n   # Install Python dependencies\n   pip install -r setup/requirements.txt\n\n   # Run system setup (creates collections, scope, indexes, and sample data)\n   cd setup\n   python setup_system.py\n   ```\n\n3. **Configure App Services:**\n\n   ```bash\n   # In App Services section:\n   # 1. Create App Service endpoint in Capella.\n   # 2. Link all the collections to be synced: plants, production_lines, machines, solutions, telemetry, alerts, quality_metrics, device_status.\n   # 3. Create an App User under App Users.\n   # 4. In Access Control Validation, set custom sync scripts for plants, production_lines, and machines collections under custom scripts. For other collections, use the default script. These can be found in the \"custom_scripts\" directory in the project.\n   # 5. Go to App Users, select the user you created, and set the admin channel for the solutions collection to \"solutions\" and manuals collection to \"manuals\".\n   # 6. Update the App Services configuration to include these settings.\n   # 7. Resync all the collections\n   ```\n\n   For a step-by-step video guide, see: \u003chttps://www.youtube.com/watch?v=DXSfSkX0Epo\u0026ab_channel=Couchbase\u003e\n\n4. **Update Configuration:**\n\n   ```bash\n   # Edit edge-server-config.json with your Capella details:\n   # - Replace \"your-cluster.apps.cloud.couchbase.com\" with actual URL\n   # - Update username/password in replication config\n   # - Configure channels and collection sync\n   ```\n\n### 2. Environment Setup\n\n```bash\n# Clone the repository\ngit clone \u003crepository-url\u003e\ncd cpg-manufacturing-edge-ai-assistant\n\n# Set up environment variables (setup.sh)\nexport GOOGLE_GEMINI_API_KEY=\"your-api-key-here\"\nexport APP_SERVICES_ENDPOINT=\"your-cluster.apps.cloud.couchbase.com\"\nexport APP_SERVICES_USERNAME=\"your-app-services-username\"\nexport APP_SERVICES_PASSWORD=\"your-app-services-password\"\nexport COUCHBASE_CONNECTION_STRING=\"your-couchbase-connection-string\"\nexport COUCHBASE_USERNAME=\"your-couchbase-username\"\nexport COUCHBASE_PASSWORD=\"your-couchbase-password\"\nexport COUCHBASE_BUCKET_NAME=\"cpg_manufacturing\"\nexport APP_NAME=\"CPG Manufacturing AI Assistant\"\n\n# Make scripts executable\nchmod +x run-edge-server.sh run-java-app.sh setup.sh\n# Set setup.sh as source to set environment variables\nsource setup.sh\n```\n\n### 3. Start Edge Server\n\n```bash\n# Start Couchbase Edge Server\n./run-edge-server.sh --build\n\n# Verify Edge Server is running\ncurl http://localhost:59840/\n```\n\n### 4. Start IoT Data Generation\n\n```bash\n# Start telemetry data generation\n./run-java-app.sh\n\n# Or run locally with Maven\n./run-java-app.sh --local\n```\n\n### 5. Use CLI Agent\n\n```bash\n# Interactive mode\nmvn exec:java -Dexec.mainClass=\"com.couchbase.example.cli_agent.CPGCLIAgent\"\n\n```\n\n## 📋 Usage Examples\n\n### CLI Agent Commands\n\n**Operational Data Queries:**\n\n```bash\n# Get machine telemetry\n\"Why the MACHINE_001 stopped\"\n\n# Check production alerts\n\"Show active alerts for beverage filling line\"\n\n# Device status check\n\"Check device status for rpi-cpg-line1-01\"\n\n# Quality metrics\n\"Get quality metrics for MACHINE_001\"\n```\n\n**Documentation Search:**\n\n```bash\n# Search procedures\n\"Search manuals for CO2 pressure calibration\"\n\n# Find solutions\n\"Find solutions for fill level problems\"\n\n# Troubleshooting guides\n\"Get troubleshooting procedures for beverage_filling_line\"\n```\n\n### REST API Endpoints\n\n**Edge Server APIs:**\n\n```bash\n# Database info\nGET http://localhost:59840/cpg_manufacturing\n\n# Query telemetry\nPOST http://localhost:59840/cpg_manufacturing/_query\n{\n  \"query\": \"SELECT * FROM manufacturing.telemetry WHERE machine_id = 'MACHINE_001' ORDER BY timestamp DESC LIMIT 10\"\n}\n\n# Get active alerts\nPOST http://localhost:59840/cpg_manufacturing/_query\n{\n  \"query\": \"SELECT * FROM manufacturing.alerts WHERE status = 'active' ORDER BY severity DESC\"\n}\n```\n\n## 🔧 Configuration\n\n### Edge Server Configuration\n\nKey configuration files:\n\n- `edge-server-config.json` - Edge server settings\n- `docker-compose.yml` - Container orchestration\n- `setup/config.py` - Python setup configuration\n\n### Cloud Configuration (Capella \u0026 App Services)\n\n#### Couchbase Capella Setup\n\n1. **Create Capella Cluster:**\n\n   ```bash\n   # Visit https://cloud.couchbase.com/\n   # Create a new cluster with CPG Manufacturing bucket\n   ```\n\n2. **Configure App Services:**\n   - Database Name: `cpg_manufacturing`\n   - Sync Gateway Port: `:4984`\n   - Admin Interface: `:4985`\n\n3. **Replication Configuration in `edge-server-config.json`:**\n\n   ```json\n   \"replications\": [\n     {\n       \"source\": \"wss://your-cluster.apps.cloud.couchbase.com:4984/cpg_manufacturing\",\n       \"target\": \"cpg_manufacturing\",\n       \"continuous\": true,\n       \"collections\": {\n         \"manufacturing.plants\": { \"channels\": [\"CPG_PLANT_001\"] },\n         \"manufacturing.production_lines\": { \"channels\": [\"CPG_PLANT_001\"] },\n         \"manufacturing.machines\": { \"channels\": [\"CPG_PLANT_001\"] },\n         \"manufacturing.solutions\": { \"channels\": [\"solutions\"] }\n       },\n       \"auth\": {\n         \"user\": \"admin\",\n         \"password\": \"Password@12345\"\n       }\n     }\n   ]\n   ```\n\n#### Data Flow Architecture\n\n- **Edge → Cloud:** Telemetry, alerts, device status, quality metrics\n- **Cloud → Edge:** Plants, production lines, machines, solutions\n- **Bidirectional Sync:** Real-time synchronization with conflict resolution\n\n### Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `GOOGLE_GEMINI_API_KEY` | AI service API key | Required |\n| `EDGE_SERVER_HOST` | Edge server hostname | `couchbase-edge-server` |\n| `EDGE_SERVER_PORT` | Edge server port | `59840` |\n| `APP_SERVICES_CLUSTER` | Capella App Services endpoint | `your-cluster.apps.cloud.couchbase.com` |\n| `APP_SERVICES_API_KEY` | App Services API key | Required for cloud sync |\n| `DEVICE_ID` | IoT device identifier | `rpi-cpg-line1-01` |\n| `MACHINE_ID` | Machine identifier | `MACHINE_001` |\n| `PRODUCTION_LINE` | Production line name | `BEVERAGE_LINE_A` |\n\n## 📊 Monitoring \u0026 Observability\n\n### Health Checks\n\n```bash\n# Edge Server health\ncurl http://localhost:59840/\n\n# Container status\ndocker compose ps\n\n# Logs\ndocker compose logs -f couchbase-edge-server\ndocker compose logs -f java-cpg-app\n```\n\n### Data Verification\n\n```bash\n# Check document counts\ncurl http://localhost:59840/cpg_manufacturing/manufacturing.telemetry/_count\n\n# View recent telemetry\ncurl http://localhost:59840/cpg_manufacturing/manufacturing.telemetry/_all_docs?limit=5\u0026descending=true\n```\n\n### Cloud Monitoring\n\n#### Capella Dashboard\n\n1. **Access Capella Console:**\n\n   ```bash\n   # Visit https://cloud.couchbase.com/\n   # Navigate to your cluster dashboard\n   ```\n\n2. **Monitor Data Sync:**\n   - Check bucket document counts\n   - Monitor App Services sync status\n   - View replication activity logs\n\n#### App Services Monitoring\n\n```bash\n# App Services Admin Interface\ncurl -u admin:password https://your-cluster.apps.cloud.couchbase.com:4985/\n\n# Check sync gateway status\ncurl https://your-cluster.apps.cloud.couchbase.com:4985/_db/cpg_manufacturing\n\n# Monitor replication activity\ncurl https://your-cluster.apps.cloud.couchbase.com:4985/_db/cpg_manufacturing/_active_tasks\n```\n\n#### Replication Health\n\n```bash\n# Check Edge Server replication status\ncurl http://localhost:59840/cpg_manufacturing/_replications\n\n# View sync metrics\ndocker compose logs java-cpg-app | grep -i \"sync\\|replication\"\n```\n\n## 🗂️ Project Structure\n\n```text\ncpg-manufacturing-edge-ai-assistant/\n├── asserts/                    # Diagrams and images\n│   └── architecture.png\n├── config/                     # (Currently empty except for __pycache__)\n├── custom_scripts/             # JavaScript scripts for capella app services custom script\n│   ├── machines.js\n│   ├── plants.js\n│   └── production_lines.js\n├── setup/                      # Python setup and utility scripts to create collections and synthetic data \n│   ├── __init__.py\n│   ├── alert_templates.json\n│   ├── check_similarity.py\n│   ├── COLLECTIONS.md\n│   ├── config.py\n│   ├── couchbase_client.py\n│   ├── document_processor.py\n│   ├── document_utils.py\n│   ├── list_machine_alerts.py\n│   ├── manual.txt\n│   ├── requirements.txt\n│   ├── sample_data_generator.py\n│   ├── setup_system.py\n│   ├── solution_optimizer.py\n├── src/\n│   └── main/\n│       ├── java/\n│       │   └── com/\n│       │       └── couchbase/\n│       │           └── example/\n│       │               ├── cli_agent/         # CLI agent and tools\n│       │               │   ├── CPGCLIAgent.java\n│       │               │   ├── EdgeServerTools.java\n│       │               │   ├── ManualSearchTools.java\n│       │               │   ├── ToolTraceLogger.java\n│       │               │   └── VectorSearchUtil.java\n│       │               └── iot_device/        # IoT telemetry and simulation\n│       │                   ├── AlertGenerator.java\n│       │                   ├── CPGIoTTelemetryGenerator.java\n│       │                   ├── IoTDeviceConfig.java\n│       │                   ├── SensorDataGenerator.java\n│       │                   └── SimulationUtils.java\n│       └── resources/\n│           └── simplelogger.properties\n├── c4_container.puml           # C4 model diagram\n├── docker-compose.yml          # Container orchestration\n├── Dockerfile.edge-server      # Dockerfile for Edge Server\n├── Dockerfile.java             # Dockerfile for Java app\n├── edge-server-config.json     # Edge server configuration\n├── LANGCHAIN4J_INTEGRATION.md  # LangChain4j integration notes\n├── pom.xml                     # Maven build file\n├── README.md                   # Project documentation\n├── run-edge-server.sh          # Edge server startup script\n└── run-java-app.sh             # Java app startup script\n\n```\n\n## 🚨 Troubleshooting\n\n### Common Issues\n\n**Edge Server Won't Start:**\n\n```bash\n# Check port availability\nlsof -i :59840\n\n# View logs\ndocker compose logs couchbase-edge-server\n\n# Restart with clean data\n./run-edge-server.sh --clean\n```\n\n**Java App Compilation Errors:**\n\n```bash\n# Clean rebuild\nmvn clean compile\n\n# Check Java version\njava -version\n\n# Verify dependencies\nmvn dependency:tree\n```\n\n**Replication Issues:**\n\n```bash\n# Check Edge Server connectivity\ncurl http://localhost:59840/cpg_manufacturing\n\n# View replication status\ndocker compose logs java-cpg-app | grep -i replication\n```\n\n**Cloud Sync Issues:**\n\n```bash\n# Test Capella connectivity\ncurl -I https://your-cluster.apps.cloud.couchbase.com:4984/\n\n# Check App Services authentication\ncurl -u admin:password https://your-cluster.apps.cloud.couchbase.com:4984/cpg_manufacturing\n\n# Verify replication configuration\ncat edge-server-config.json | jq '.replications'\n\n# Check sync gateway logs in Capella Console\n# Navigate to App Services → Logs in Capella dashboard\n```\n\n**Authentication Errors:**\n\n```bash\n# Update credentials in edge-server-config.json\n# Check Capella user permissions\n# Verify App Services database access\n# Test with curl:\ncurl -u username:password https://your-cluster.apps.cloud.couchbase.com:4984/cpg_manufacturing\n```\n\n## Data Retention:**\n\n```bash\n# Adjust retention in IoTDeviceConfig.java\nTELEMETRY_EXPIRATION_DAYS = 30\nALERT_EXPIRATION_DAYS = 90\n```\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🔗 References\n\n- [Couchbase Edge Server Documentation](https://docs.couchbase.com/edge-server/current/)\n- [Couchbase Capella Documentation](https://docs.couchbase.com/cloud/current/)\n- [App Services Documentation](https://docs.couchbase.com/couchbase-lite/current/android/replication.html)\n- [Couchbase Mobile Sync](https://docs.couchbase.com/sync-gateway/current/)\n- [LangChain4j Documentation](https://docs.langchain4j.dev/)\n- [Google Gemini AI API](https://ai.google.dev/docs)\n- [Couchbase Cloud Console](https://cloud.couchbase.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouchbase-examples%2Fcpg-manufacturing-edge-ai-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcouchbase-examples%2Fcpg-manufacturing-edge-ai-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouchbase-examples%2Fcpg-manufacturing-edge-ai-assistant/lists"}