-
Notifications
You must be signed in to change notification settings - Fork 304
feat: agentcore initial implementation #1191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 13 commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
fc4c8dc
feat: agentcore initial implementation
maekawataiki 53faed4
update snapshot test
maekawataiki 04376c8
fix
maekawataiki 50726b4
fix
maekawataiki d856d7b
fix i18n & add kiro steering
maekawataiki 72e514f
update
maekawataiki 0f3ed06
split stack
maekawataiki aaea5b0
fix region handling + otel
maekawataiki f745943
fix model region
maekawataiki 2018346
refactor
maekawataiki b31d1cf
fix doc
maekawataiki 41a1eab
streaming & codeinterpreter
maekawataiki 1e88b10
improve history handling
maekawataiki d5612cb
fix error handling & add multi modal support
maekawataiki 9318bdf
fix docs
maekawataiki 8ed559b
update landing page
maekawataiki File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,4 +7,8 @@ node_modules | |
|
||
# MkDocs documentation | ||
site*/ | ||
.cache | ||
.cache | ||
|
||
# Coding Asssitant | ||
.kiro/settings | ||
.kiro/specs |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Generative AI Use Cases (GenU) | ||
|
||
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. | ||
|
||
## Core Features | ||
|
||
- **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 | ||
- **RAG (Retrieval Augmented Generation)**: Supports both Amazon Kendra and Knowledge Base for connecting AI to your organization's documents | ||
- **Agent Support**: Integration with Bedrock Agents and Flows for specialized AI capabilities | ||
- **Use Case Builder**: Create custom use cases with natural language prompt templates without coding | ||
- **Security Features**: SAML authentication, IP restrictions, and other enterprise security controls | ||
- **Multi-language Support**: Internationalization with multiple language interfaces | ||
|
||
## Target Users | ||
|
||
GenU is designed for organizations looking to implement generative AI capabilities in a secure, controlled environment with enterprise-grade features and customization options. | ||
|
||
## Key Differentiators | ||
|
||
- Well-architected AWS implementation following best practices | ||
- Extensive customization options through configuration | ||
- Support for multiple AI models and capabilities | ||
- Enterprise security features | ||
- No-code custom use case creation |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
# Project Structure | ||
|
||
## Root Organization | ||
|
||
The project follows a monorepo structure with workspaces: | ||
|
||
``` | ||
generative-ai-use-cases/ | ||
├── docs/ # Documentation files (English and Japanese) | ||
├── packages/ # Main code packages | ||
│ ├── cdk/ # AWS CDK infrastructure code | ||
│ ├── common/ # Shared utilities and types | ||
│ ├── types/ # TypeScript type definitions | ||
│ └── web/ # Frontend web application | ||
├── browser-extension/ # Browser extension code | ||
└── .husky/ # Git hooks | ||
``` | ||
|
||
## Key Packages | ||
|
||
### packages/cdk | ||
|
||
Contains all AWS infrastructure code defined using CDK: | ||
|
||
``` | ||
packages/cdk/ | ||
├── bin/ # CDK app entry point | ||
├── lib/ # CDK constructs and stacks | ||
│ ├── construct/ # Reusable CDK constructs | ||
│ └── utils/ # Helper utilities | ||
├── lambda/ # Lambda function code | ||
├── lambda-python/ # Python Lambda functions | ||
├── custom-resources/ # Custom CDK resources | ||
│ ├── agent-core-runtime/ | ||
│ └── opensearch-index/ | ||
├── assets/ # Static assets for deployment | ||
└── cdk.json # CDK configuration | ||
``` | ||
|
||
### packages/web | ||
|
||
Contains the React frontend application: | ||
|
||
``` | ||
packages/web/ | ||
├── public/ # Static assets | ||
├── src/ | ||
│ ├── components/ # Reusable UI components | ||
│ ├── hooks/ # React hooks | ||
│ ├── pages/ # Page components | ||
│ ├── utils/ # Utility functions | ||
│ ├── i18n/ # Internationalization | ||
│ └── prompts/ # AI prompt templates | ||
└── vite.config.ts # Vite configuration | ||
``` | ||
|
||
### packages/types | ||
|
||
Contains TypeScript type definitions shared across packages: | ||
|
||
``` | ||
packages/types/src/ | ||
├── agent.d.ts # Agent-related types | ||
├── chat.d.ts # Chat-related types | ||
├── message.d.ts # Message-related types | ||
├── agent-core.d.ts # Agent Core types | ||
└── ... # Other type definitions | ||
``` | ||
|
||
## Documentation | ||
|
||
Documentation is available in both English and Japanese: | ||
|
||
``` | ||
docs/ | ||
├── en/ # English documentation | ||
├── ja/ # Japanese documentation | ||
└── assets/ # Documentation assets and images | ||
``` | ||
|
||
## Browser Extension | ||
|
||
A browser extension is available for accessing GenU functionality: | ||
|
||
``` | ||
browser-extension/ | ||
├── src/ # Extension source code | ||
├── public/ # Static assets | ||
└── tools/ # Build tools | ||
``` | ||
|
||
## Code Conventions | ||
|
||
1. **TypeScript**: The project uses TypeScript throughout for type safety | ||
2. **React Components**: Functional components with hooks | ||
3. **CDK Constructs**: Modular CDK constructs for infrastructure components | ||
4. **Internationalization**: All user-facing text uses i18n for translation | ||
5. **Testing**: Jest for unit tests | ||
|
||
## Configuration Files | ||
|
||
- `package.json`: Root package with workspace definitions and scripts | ||
- `packages/cdk/cdk.json`: Main configuration for AWS deployment | ||
- `packages/web/vite.config.ts`: Frontend build configuration | ||
- `mkdocs.yml`: Documentation site configuration |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# Technical Stack and Build System | ||
|
||
## Core Technologies | ||
|
||
- **Frontend**: React with TypeScript, Vite, TailwindCSS | ||
- **Backend**: AWS CDK (Cloud Development Kit) for infrastructure as code | ||
- **AI Services**: Amazon Bedrock, Amazon Kendra, Amazon Transcribe | ||
- **Authentication**: Amazon Cognito with SAML support | ||
- **Storage**: Amazon S3, DynamoDB | ||
- **API**: AWS API Gateway, AWS Lambda | ||
|
||
## Key Libraries and Frameworks | ||
|
||
### Frontend | ||
|
||
- React 18 | ||
- TypeScript | ||
- Vite for build tooling | ||
- TailwindCSS for styling | ||
- i18next for internationalization | ||
- SWR for data fetching | ||
- Zustand for state management | ||
- React Router for navigation | ||
- AWS Amplify for AWS service integration | ||
|
||
### Backend | ||
|
||
- AWS CDK for infrastructure as code | ||
- TypeScript | ||
- AWS Lambda for serverless functions | ||
- AWS SDK for JavaScript | ||
|
||
## Project Build Commands | ||
|
||
### Root Project Commands | ||
|
||
```bash | ||
# Install dependencies | ||
npm ci | ||
|
||
# Run linting | ||
npm run lint | ||
|
||
# Run tests | ||
npm run test | ||
|
||
# Deploy AWS resources | ||
npm run cdk:deploy | ||
|
||
# Fast deployment (without pre-checking) | ||
npm run cdk:deploy:quick | ||
|
||
# Delete AWS resources | ||
npm run cdk:destroy | ||
|
||
# Documentation development server | ||
npm run docs:dev | ||
|
||
# Build documentation | ||
npm run docs:build | ||
``` | ||
|
||
### Web Frontend Commands | ||
|
||
```bash | ||
# Start development server | ||
npm run web:dev | ||
|
||
# Build for production | ||
npm run web:build | ||
|
||
# Run linting | ||
npm run web:lint | ||
|
||
# Run tests | ||
npm run web:test | ||
``` | ||
|
||
### CDK Commands | ||
|
||
```bash | ||
# Bootstrap CDK (first-time setup) | ||
npx -w packages/cdk cdk bootstrap | ||
|
||
# Deploy CDK stacks | ||
npm run cdk:deploy | ||
|
||
# Run CDK tests | ||
npm run cdk:test | ||
``` | ||
|
||
### Browser Extension Commands | ||
|
||
```bash | ||
# Install extension dependencies | ||
npm run extension:ci | ||
|
||
# Start extension development | ||
npm run extension:dev | ||
|
||
# Build extension | ||
npm run extension:build | ||
``` | ||
|
||
## Environment Setup | ||
|
||
Before deploying, ensure: | ||
|
||
1. AWS CLI is configured with appropriate credentials | ||
2. Node.js and npm are installed | ||
3. Required Bedrock models are enabled in your AWS account | ||
4. CDK is bootstrapped in your AWS environment (first-time only) | ||
|
||
## Configuration | ||
|
||
The main configuration file is `packages/cdk/cdk.json`, which controls: | ||
|
||
- AWS region settings | ||
- Enabled AI models and capabilities | ||
- Security settings | ||
- RAG configuration | ||
- Agent and Flow settings | ||
- UI customization options |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.