This repository contains an AI-based content generation application with three core services:
- Backend Service: Exposes customer, product, and product vector APIs (for finding similar products) via backend API Management (APIM).
- Middleware Service: Provides content generation and embedding vector APIs, using OpenAI services to process user queries.
- Frontend Service: A ReactJS application offering a chat interface where users can submit queries, interact with the system, and receive AI-generated content.
Each service uses Azure Key Vault and Managed Identity for secrets management in production environments. For local development, specific environment variables are required to authenticate against Key Vault.
Include the architecture diagrams here:
- Azure App Service Architecture
Illustrates the interaction between frontend, middleware, backend, and external services such as OpenAI and Azure resources.
- Azure account with necessary permissions
- Managed Identity configured for accessing Key Vault secrets
- Azure API Management configured for both backend and middleware services
- Node.js and React for frontend service
- Java Spring Boot for backend and middleware services
-
Clone the repository:
git clone https://github.com/Azure-Samples/Java-AI-Based-Content-Generator cd Java-AI-Based-Content-Generator
-
Service Setup:
Each service can be run locally with specific instructions provided in each service folder.
To run locally, set the following environment variables to access Azure Key Vault:
export AZURE_KEYVAULT_URL=<your_keyvault_url>