Skip to content

Commit 9f77176

Browse files
authored
feat: support image, document, and video understanding for Amazon Nova
1 parent a4852bd commit 9f77176

23 files changed

+512
-137
lines changed

README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,20 @@ macOS platforms.
1313

1414
- Real-time streaming chat with AI
1515
- AI image generation with progress
16-
- Multimodal support (camera, photos & documents)
16+
- Multimodal support (images, videos & documents)
1717
- Conversation history list view and management
1818
- Cross-platform support (Android, iOS, macOS)
1919
- Tablet-optimized for iPad and Android tablets
2020
- Fast launch and responsive performance
2121
- Multiple AI model support and switching
2222

23+
**New Features For Amazon Nova 🎉🎉🎉**
24+
25+
- Stream conversations with Amazon Nova Micro, Lite and Pro
26+
- Understand images, documents and videos with Nova Lite and Pro
27+
- Record 30-second videos directly on Android and iOS for Nova analysis
28+
- Upload large videos (1080p/4K) beyond 8MB with auto compression
29+
2330
## Architecture
2431

2532
![](/assets/architecture.png)
@@ -85,8 +92,8 @@ can find the **API URL** which looks like: `https://xxx.xxx.awsapprunner.com` or
8592
### Step 3: Download the app and setup with API URL and API Key
8693

8794
1. Download the App
88-
- Android App click to [Download](https://github.com/aws-samples/swift-chat/releases/download/1.5.0/SwiftChat.apk)
89-
- macOS App click to [Download](https://github.com/aws-samples/swift-chat/releases/download/1.5.0/SwiftChat.dmg)
95+
- Android App click to [Download](https://github.com/aws-samples/swift-chat/releases/download/1.6.0/SwiftChat.apk)
96+
- macOS App click to [Download](https://github.com/aws-samples/swift-chat/releases/download/1.6.0/SwiftChat.dmg)
9097
- iOS (Currently we do not provide the iOS version, you can build it locally with Xcode)
9198

9299
2. Launch the App, open the drawer menu, and tap **Settings**.

README_CN.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,13 @@ macOS 等多个平台。
1919
- 快速启动和响应性能
2020
- 支持多种 AI 模型及切换
2121

22+
**Amazon Nova 新功能 🎉🎉🎉**
23+
24+
- 支持与 Amazon Nova Micro、Lite 和 Pro 进行流式对话
25+
- 支持 Nova Lite 和 Pro 对图片、文档及视频内容的理解
26+
- 支持直接在安卓和 iOS 设备上录制最长 30 秒的视频供 Nova 分析
27+
- 支持自动压缩上传超过8MB的高清视频(1080p/4K)
28+
2229
## 架构
2330

2431
![](/assets/architecture.png)
@@ -76,8 +83,8 @@ macOS 等多个平台。
7683
### 第3步: 下载应用并设置 API URL 和 API Key
7784

7885
1. 下载应用
79-
- Android 应用点击 [下载](https://github.com/aws-samples/swift-chat/releases/download/1.5.0/SwiftChat.apk)
80-
- macOS 应用点击 [下载](https://github.com/aws-samples/swift-chat/releases/download/1.5.0/SwiftChat.dmg)
86+
- Android 应用点击 [下载](https://github.com/aws-samples/swift-chat/releases/download/1.6.0/SwiftChat.apk)
87+
- macOS 应用点击 [下载](https://github.com/aws-samples/swift-chat/releases/download/1.6.0/SwiftChat.dmg)
8188
- iOS (目前不提供 iOS 版本,您可以使用 Xcode 在本地构建)
8289

8390
2. 启动应用,点击左侧菜单按钮,并点击底部的 **Settings**

react-native/android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ android {
7979
applicationId "com.aws.swiftchat"
8080
minSdkVersion rootProject.ext.minSdkVersion
8181
targetSdkVersion rootProject.ext.targetSdkVersion
82-
versionCode 10
83-
versionName "1.5.0"
82+
versionCode 11
83+
versionName "1.6.0"
8484
ndk {
8585
//noinspection ChromeOsAbiSupport
8686
abiFilters 'arm64-v8a'

react-native/ios/Podfile.lock

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -938,7 +938,7 @@ PODS:
938938
- React-Mapbuffer (0.74.1):
939939
- glog
940940
- React-debug
941-
- react-native-compressor (1.9.0):
941+
- react-native-compressor (1.10.1):
942942
- DoubleConversion
943943
- glog
944944
- hermes-engine
@@ -982,7 +982,7 @@ PODS:
982982
- Yoga
983983
- react-native-get-random-values (1.11.0):
984984
- React-Core
985-
- react-native-image-picker (7.1.2):
985+
- react-native-image-picker (7.2.2):
986986
- DoubleConversion
987987
- glog
988988
- hermes-engine
@@ -1330,7 +1330,7 @@ PODS:
13301330
- Yoga
13311331
- RNShare (10.2.1):
13321332
- React-Core
1333-
- RNSVG (15.4.0):
1333+
- RNSVG (15.10.1):
13341334
- React-Core
13351335
- SocketRocket (0.7.0)
13361336
- Yoga (0.0.0)
@@ -1588,10 +1588,10 @@ SPEC CHECKSUMS:
15881588
React-jsitracing: 233d1a798fe0ff33b8e630b8f00f62c4a8115fbc
15891589
React-logger: 7e7403a2b14c97f847d90763af76b84b152b6fce
15901590
React-Mapbuffer: 11029dcd47c5c9e057a4092ab9c2a8d10a496a33
1591-
react-native-compressor: 6e5044b1c065421bcc2bfb89579ab30f51803e9a
1591+
react-native-compressor: 2ae9013718fb351264fcfcdf232eccbbf3d280a2
15921592
react-native-document-picker: c4f197741c327270453aa9840932098e0064fd52
15931593
react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06
1594-
react-native-image-picker: c3afe5472ef870d98a4b28415fc0b928161ee5f7
1594+
react-native-image-picker: dd85e2530d366acf77745830b053294afed66339
15951595
react-native-mmkv: 8c9a677e64a1ac89b0c6cf240feea528318b3074
15961596
react-native-safe-area-context: b7daa1a8df36095a032dff095a1ea8963cb48371
15971597
React-nativeconfig: b0073a590774e8b35192fead188a36d1dca23dec
@@ -1625,7 +1625,7 @@ SPEC CHECKSUMS:
16251625
RNReanimated: f4ff116e33e0afc3d127f70efe928847c7c66355
16261626
RNScreens: 5aeecbb09aa7285379b6e9f3c8a3c859bb16401c
16271627
RNShare: 0fad69ae2d71de9d1f7b9a43acf876886a6cb99c
1628-
RNSVG: cb24fb322de8c1ebf59904e7aca0447bb8dbed5a
1628+
RNSVG: 7ff26379b2d1871b8571e6f9bc9630de6baf9bdf
16291629
SocketRocket: abac6f5de4d4d62d24e11868d7a2f427e0ef940d
16301630
Yoga: 348f8b538c3ed4423eb58a8e5730feec50bce372
16311631

react-native/ios/SwiftChat.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@
485485
CODE_SIGN_ENTITLEMENTS = SwiftChat/SwiftChat.entitlements;
486486
CODE_SIGN_IDENTITY = "Apple Development";
487487
CODE_SIGN_STYLE = Automatic;
488-
CURRENT_PROJECT_VERSION = 10;
488+
CURRENT_PROJECT_VERSION = 11;
489489
DEVELOPMENT_TEAM = BUA6W9H7T3;
490490
ENABLE_BITCODE = NO;
491491
"ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES;
@@ -497,7 +497,7 @@
497497
"$(inherited)",
498498
"@executable_path/Frameworks",
499499
);
500-
MARKETING_VERSION = 1.5.0;
500+
MARKETING_VERSION = 1.6.0;
501501
OTHER_LDFLAGS = (
502502
"$(inherited)",
503503
"-ObjC",
@@ -526,7 +526,7 @@
526526
CODE_SIGN_ENTITLEMENTS = SwiftChat/SwiftChat.entitlements;
527527
CODE_SIGN_IDENTITY = "Apple Development";
528528
CODE_SIGN_STYLE = Automatic;
529-
CURRENT_PROJECT_VERSION = 10;
529+
CURRENT_PROJECT_VERSION = 11;
530530
DEVELOPMENT_TEAM = BUA6W9H7T3;
531531
"ENABLE_HARDENED_RUNTIME[sdk=macosx*]" = YES;
532532
INFOPLIST_FILE = SwiftChat/Info.plist;
@@ -537,7 +537,7 @@
537537
"$(inherited)",
538538
"@executable_path/Frameworks",
539539
);
540-
MARKETING_VERSION = 1.5.0;
540+
MARKETING_VERSION = 1.6.0;
541541
OTHER_LDFLAGS = (
542542
"$(inherited)",
543543
"-ObjC",

react-native/ios/SwiftChat/Info.plist

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
<true/>
3535
</dict>
3636
<key>NSCameraUsageDescription</key>
37-
<string>Support take camera and summarize it</string>
37+
<string>Support take photos and summarize it</string>
38+
<key>NSMicrophoneUsageDescription</key>
39+
<string>Support record videos and summarize it</string>
3840
<key>NSPhotoLibraryUsageDescription</key>
3941
<string>Support choose pictures and summarize it</string>
4042
<key>UILaunchStoryboardName</key>

react-native/ios/SwiftChat/PrivacyInfo.xcprivacy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
1010
<key>NSPrivacyAccessedAPITypeReasons</key>
1111
<array>
12+
<string>3B52.1</string>
1213
<string>C617.1</string>
1314
</array>
1415
</dict>

react-native/package-lock.json

Lines changed: 40 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

react-native/package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "swift-chat",
33
"description": "Sample Bedrock Cross-platform App - SwiftChat",
4-
"version": "1.5.0",
4+
"version": "1.6.0",
55
"private": true,
66
"scripts": {
77
"android": "react-native run-android",
@@ -19,7 +19,7 @@
1919
"react": "18.2.0",
2020
"react-native": "0.74.1",
2121
"react-native-code-highlighter": "^1.2.2",
22-
"react-native-compressor": "^1.9.0",
22+
"react-native-compressor": "^1.10.1",
2323
"react-native-dialog": "^9.3.0",
2424
"react-native-document-picker": "^9.3.1",
2525
"react-native-element-dropdown": "^2.12.1",
@@ -30,11 +30,12 @@
3030
"react-native-get-random-values": "^1.11.0",
3131
"react-native-gifted-chat": "^2.4.0",
3232
"react-native-haptic-feedback": "^2.2.0",
33-
"react-native-image-picker": "^7.1.2",
33+
"react-native-image-picker": "^7.2.2",
3434
"react-native-image-viewing": "^0.2.2",
3535
"react-native-marked": "^6.0.4",
3636
"react-native-mmkv": "^2.12.2",
3737
"react-native-polyfill-globals": "^3.1.0",
38+
"react-native-progress": "^5.0.1",
3839
"react-native-reanimated": "^3.14.0",
3940
"react-native-safe-area-context": "^4.10.8",
4041
"react-native-screens": "^3.32.0",

react-native/src/assets/play.png

866 Bytes
Loading

0 commit comments

Comments
 (0)