Skip to content

Commit e99a78a

Browse files
authored
Merge branch 'aws-samples:main' into deploy
2 parents d107ade + 56bb9c5 commit e99a78a

File tree

153 files changed

+50186
-5596
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

153 files changed

+50186
-5596
lines changed

.gitignore

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,10 @@ node_modules
77

88
# MkDocs documentation
99
site*/
10-
.cache
10+
.cache
11+
12+
# Jest snapshot fix files
13+
*.snap.fix
14+
# Coding Asssitant
15+
.kiro/settings
16+
.kiro/specs

.kiro/steering/product.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Generative AI Use Cases (GenU)
2+
3+
GenU is a well-architected application implementation with business use cases for utilizing generative AI in business operations. It provides a platform for deploying and using various generative AI capabilities in a secure, enterprise-ready environment.
4+
5+
## Core Features
6+
7+
- **Multiple AI Use Cases**: Chat, Text Generation, Summarization, Meeting Minutes, Writing, Translation, Web Content Extraction, Image Generation, Video Generation, Video Analysis, Diagram Generation, Voice Chat
8+
- **RAG (Retrieval Augmented Generation)**: Supports both Amazon Kendra and Knowledge Base for connecting AI to your organization's documents
9+
- **Agent Support**: Integration with Bedrock Agents and Flows for specialized AI capabilities
10+
- **Use Case Builder**: Create custom use cases with natural language prompt templates without coding
11+
- **Security Features**: SAML authentication, IP restrictions, and other enterprise security controls
12+
- **Multi-language Support**: Internationalization with multiple language interfaces
13+
14+
## Target Users
15+
16+
GenU is designed for organizations looking to implement generative AI capabilities in a secure, controlled environment with enterprise-grade features and customization options.
17+
18+
## Key Differentiators
19+
20+
- Well-architected AWS implementation following best practices
21+
- Extensive customization options through configuration
22+
- Support for multiple AI models and capabilities
23+
- Enterprise security features
24+
- No-code custom use case creation

.kiro/steering/structure.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Project Structure
2+
3+
## Root Organization
4+
5+
The project follows a monorepo structure with workspaces:
6+
7+
```
8+
generative-ai-use-cases/
9+
├── docs/ # Documentation files (English and Japanese)
10+
├── packages/ # Main code packages
11+
│ ├── cdk/ # AWS CDK infrastructure code
12+
│ ├── common/ # Shared utilities and types
13+
│ ├── types/ # TypeScript type definitions
14+
│ └── web/ # Frontend web application
15+
├── browser-extension/ # Browser extension code
16+
└── .husky/ # Git hooks
17+
```
18+
19+
## Key Packages
20+
21+
### packages/cdk
22+
23+
Contains all AWS infrastructure code defined using CDK:
24+
25+
```
26+
packages/cdk/
27+
├── bin/ # CDK app entry point
28+
├── lib/ # CDK constructs and stacks
29+
│ ├── construct/ # Reusable CDK constructs
30+
│ └── utils/ # Helper utilities
31+
├── lambda/ # Lambda function code
32+
├── lambda-python/ # Python Lambda functions
33+
├── custom-resources/ # Custom CDK resources
34+
│ ├── agent-core-runtime/
35+
│ └── opensearch-index/
36+
├── assets/ # Static assets for deployment
37+
└── cdk.json # CDK configuration
38+
```
39+
40+
### packages/web
41+
42+
Contains the React frontend application:
43+
44+
```
45+
packages/web/
46+
├── public/ # Static assets
47+
├── src/
48+
│ ├── components/ # Reusable UI components
49+
│ ├── hooks/ # React hooks
50+
│ ├── pages/ # Page components
51+
│ ├── utils/ # Utility functions
52+
│ ├── i18n/ # Internationalization
53+
│ └── prompts/ # AI prompt templates
54+
└── vite.config.ts # Vite configuration
55+
```
56+
57+
### packages/types
58+
59+
Contains TypeScript type definitions shared across packages:
60+
61+
```
62+
packages/types/src/
63+
├── agent.d.ts # Agent-related types
64+
├── chat.d.ts # Chat-related types
65+
├── message.d.ts # Message-related types
66+
├── agent-core.d.ts # Agent Core types
67+
└── ... # Other type definitions
68+
```
69+
70+
## Documentation
71+
72+
Documentation is available in both English and Japanese:
73+
74+
```
75+
docs/
76+
├── en/ # English documentation
77+
├── ja/ # Japanese documentation
78+
└── assets/ # Documentation assets and images
79+
```
80+
81+
## Browser Extension
82+
83+
A browser extension is available for accessing GenU functionality:
84+
85+
```
86+
browser-extension/
87+
├── src/ # Extension source code
88+
├── public/ # Static assets
89+
└── tools/ # Build tools
90+
```
91+
92+
## Code Conventions
93+
94+
1. **TypeScript**: The project uses TypeScript throughout for type safety
95+
2. **React Components**: Functional components with hooks
96+
3. **CDK Constructs**: Modular CDK constructs for infrastructure components
97+
4. **Internationalization**: All user-facing text uses i18n for translation
98+
5. **Testing**: Jest for unit tests
99+
100+
## Configuration Files
101+
102+
- `package.json`: Root package with workspace definitions and scripts
103+
- `packages/cdk/cdk.json`: Main configuration for AWS deployment
104+
- `packages/web/vite.config.ts`: Frontend build configuration
105+
- `mkdocs.yml`: Documentation site configuration

.kiro/steering/tech.md

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
# Technical Stack and Build System
2+
3+
## Core Technologies
4+
5+
- **Frontend**: React with TypeScript, Vite, TailwindCSS
6+
- **Backend**: AWS CDK (Cloud Development Kit) for infrastructure as code
7+
- **AI Services**: Amazon Bedrock, Amazon Kendra, Amazon Transcribe
8+
- **Authentication**: Amazon Cognito with SAML support
9+
- **Storage**: Amazon S3, DynamoDB
10+
- **API**: AWS API Gateway, AWS Lambda
11+
12+
## Key Libraries and Frameworks
13+
14+
### Frontend
15+
16+
- React 18
17+
- TypeScript
18+
- Vite for build tooling
19+
- TailwindCSS for styling
20+
- i18next for internationalization
21+
- SWR for data fetching
22+
- Zustand for state management
23+
- React Router for navigation
24+
- AWS Amplify for AWS service integration
25+
26+
### Backend
27+
28+
- AWS CDK for infrastructure as code
29+
- TypeScript
30+
- AWS Lambda for serverless functions
31+
- AWS SDK for JavaScript
32+
33+
## Project Build Commands
34+
35+
### Root Project Commands
36+
37+
```bash
38+
# Install dependencies
39+
npm ci
40+
41+
# Run linting
42+
npm run lint
43+
44+
# Run tests
45+
npm run test
46+
47+
# Deploy AWS resources
48+
npm run cdk:deploy
49+
50+
# Fast deployment (without pre-checking)
51+
npm run cdk:deploy:quick
52+
53+
# Delete AWS resources
54+
npm run cdk:destroy
55+
56+
# Documentation development server
57+
npm run docs:dev
58+
59+
# Build documentation
60+
npm run docs:build
61+
```
62+
63+
### Web Frontend Commands
64+
65+
```bash
66+
# Start development server
67+
npm run web:dev
68+
69+
# Build for production
70+
npm run web:build
71+
72+
# Run linting
73+
npm run web:lint
74+
75+
# Run tests
76+
npm run web:test
77+
```
78+
79+
### CDK Commands
80+
81+
```bash
82+
# Bootstrap CDK (first-time setup)
83+
npx -w packages/cdk cdk bootstrap
84+
85+
# Deploy CDK stacks
86+
npm run cdk:deploy
87+
88+
# Run CDK tests
89+
npm run cdk:test
90+
```
91+
92+
### Browser Extension Commands
93+
94+
```bash
95+
# Install extension dependencies
96+
npm run extension:ci
97+
98+
# Start extension development
99+
npm run extension:dev
100+
101+
# Build extension
102+
npm run extension:build
103+
```
104+
105+
## Environment Setup
106+
107+
Before deploying, ensure:
108+
109+
1. AWS CLI is configured with appropriate credentials
110+
2. Node.js and npm are installed
111+
3. Required Bedrock models are enabled in your AWS account
112+
4. CDK is bootstrapped in your AWS environment (first-time only)
113+
114+
## Configuration
115+
116+
The main configuration file is `packages/cdk/cdk.json`, which controls:
117+
118+
- AWS region settings
119+
- Enabled AI models and capabilities
120+
- Security settings
121+
- RAG configuration
122+
- Agent and Flow settings
123+
- UI customization options

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
[![](https://img.shields.io/badge/Documentation-Latest-blue)](https://aws-samples.github.io/generative-ai-use-cases/index.html) [![](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/aws-samples/generative-ai-use-cases/blob/main/LICENSE) [![](https://github.com/aws-samples/generative-ai-use-cases/actions/workflows/node.js.yml/badge.svg)](https://github.com/aws-samples/generative-ai-use-cases/actions/workflows/node.js.yml) [![](https://github.com/aws-samples/generative-ai-use-cases/actions/workflows/browser-extension.yml/badge.svg)](https://github.com/aws-samples/generative-ai-use-cases/actions/workflows/browser-extension.yml)
55

6-
English | [日本語](./README_ja.md)
6+
English | [日本語](./README_ja.md) | [한국어](./README_ko.md)
77

88
Well-architected application implementation with business use cases for utilizing generative AI in business operations
99

@@ -109,7 +109,7 @@ Additionally, it is possible to build a RAG that references data outside of AWS
109109
</details>
110110

111111
<details markdown="1">
112-
<summary><strong><ins>I want to use custom Bedrock Agents or Bedrock Flows within my organization</ins></strong></summary>
112+
<summary><strong><ins>I want to use custom Bedrock Agents or AgentCore or Bedrock Flows within my organization</ins></strong></summary>
113113

114114
When you [enable agents](docs/en/DEPLOY_OPTION.md#enabling-agent-chat-use-case) in GenU, Web Search Agent and Code Interpreter Agent are created.
115115
The Web Search Agent searches the web for information to answer user questions. For example, it can answer "What is AWS GenU?"
@@ -121,6 +121,8 @@ GenU provides a feature to [import agents](docs/en/DEPLOY_OPTION.md#adding-manua
121121
By using GenU as a platform for agent utilization, you can leverage GenU's [rich security options](docs/en/DEPLOY_OPTION.md#security-related-settings) and [SAML authentication](docs/en/DEPLOY_OPTION.md#saml-authentication) to spread practical agents within your organization.
122122
Additionally, you can [hide unnecessary standard use cases](docs/en/DEPLOY_OPTION.md#hiding-specific-use-cases) or [display agents inline](docs/en/DEPLOY_OPTION.md#displaying-agents-inline) to use GenU as a more agent-focused platform.
123123

124+
Similarly, there is an [import feature](docs/en/DEPLOY_OPTION.md#enabling-agentcore-use-cases) for AgentCore Runtime, so please make use of it.
125+
124126
Similarly, there is an [import feature](docs/en/DEPLOY_OPTION.md#enabling-flow-chat-use-case) for Bedrock Flows, so please make use of it.
125127

126128
Additionally, you can create agents that perform actions on services outside AWS by [enabling MCP chat](docs/en/DEPLOY_OPTION.md#enabling-mcp-chat-use-case) and adding external MCP servers to [packages/cdk/mcp-api/mcp.json](/packages/cdk/mcp-api/mcp.json).

README_ja.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Knowledge Base を利用する場合は、[Advanced Parsing](docs/ja/DEPLOY_OPTI
106106
</details>
107107

108108
<details markdown="1">
109-
<summary><strong><ins>独自に作成した Bedrock Agents や Bedrock Flows などを社内で利用したい。</ins></strong></summary>
109+
<summary><strong><ins>独自に作成した Bedrock Agents や AgentCore や Bedrock Flows などを社内で利用したい。</ins></strong></summary>
110110

111111
GenU で [エージェントを有効化](docs/ja/DEPLOY_OPTION.md#agent-チャットユースケースの有効化)すると Web 検索エージェントと Code Interpreter エージェントが作成されます。
112112
Web 検索エージェントは、ユーザーの質問に回答するための情報を Web で検索し、回答します。例えば「AWS の GenU ってなに?」という質問に回答できます。
@@ -118,6 +118,8 @@ GenU では手動で作成したエージェントや別のアセットで作成
118118
GenU をエージェント活用のプラットフォームとして利用することで、GenU が提供する [豊富なセキュリティオプション](docs/ja/DEPLOY_OPTION.md#セキュリティ関連設定)[SAML認証](docs/ja/DEPLOY_OPTION.md#saml-認証) などを活用し、実践的なエージェントを社内に普及させることができます。
119119
また、オプションで [不要な標準ユースケースを非表示](docs/ja/DEPLOY_OPTION.md#特定のユースケースを非表示にする) にしたり、[エージェントをインライン表示](docs/ja/DEPLOY_OPTION.md#agent-をインライン表示にする) することで、よりエージェントに特化したプラットフォームとして GenU をご利用いただくことが可能です。
120120

121+
AgentCore Runtime に関しても同様に [インポート機能](docs/ja/DEPLOY_OPTION.md#agentcore-ユースケースの有効化) がございますので、ぜひご活用ください。
122+
121123
Bedrock Flows に関しても同様に [インポート機能](docs/ja/DEPLOY_OPTION.md#flow-チャットユースケースの有効化) がございますので、ぜひご活用ください。
122124

123125
また、[MCP チャットを有効化](docs/ja/DEPLOY_OPTION.md#mcp-チャットユースケースの有効化) して外部サービスの MCP サーバーを [packages/cdk/mcp-api/mcp.json](/packages/cdk/mcp-api/mcp.json) に追加することで、AWS 外のサービスにも何らかのアクションを起こすエージェントを作成することも可能です。

0 commit comments

Comments
 (0)