Skip to content

Commit a3394df

Browse files
mdydekMateusz Kopciński
authored and
Mateusz Kopciński
committed
feat: llama with whisper demo (#179)
<!-- Provide a concise and descriptive summary of the changes implemented in this PR. --> - [ ] Bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update (improves or adds clarity to existing documentation) - [x] iOS - [x] Android <!-- Provide step-by-step instructions on how to test your changes. Include setup details if necessary. --> <!-- Add screenshots here, if applicable --> <!-- Link related issues here using #issue-number --> - [x] I have performed a self-review of my code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have updated the documentation accordingly - [ ] My changes generate no new warnings <!-- Include any additional information, assumptions, or context that reviewers might need to understand this PR. -->
1 parent b32159f commit a3394df

File tree

7 files changed

+546
-1488
lines changed

7 files changed

+546
-1488
lines changed

examples/llama/ios/llama/Info.plist

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CADisableMinimumFrameDurationOnPhone</key>
6+
<true/>
7+
<key>CFBundleDevelopmentRegion</key>
8+
<string>$(DEVELOPMENT_LANGUAGE)</string>
9+
<key>CFBundleDisplayName</key>
10+
<string>llama</string>
11+
<key>CFBundleExecutable</key>
12+
<string>$(EXECUTABLE_NAME)</string>
13+
<key>CFBundleIdentifier</key>
14+
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
15+
<key>CFBundleInfoDictionaryVersion</key>
16+
<string>6.0</string>
17+
<key>CFBundleName</key>
18+
<string>$(PRODUCT_NAME)</string>
19+
<key>CFBundlePackageType</key>
20+
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
21+
<key>CFBundleShortVersionString</key>
22+
<string>1.0.0</string>
23+
<key>CFBundleSignature</key>
24+
<string>????</string>
25+
<key>CFBundleURLTypes</key>
26+
<array>
27+
<dict>
28+
<key>CFBundleURLSchemes</key>
29+
<array>
30+
<string>com.anonymous.llama</string>
31+
</array>
32+
</dict>
33+
</array>
34+
<key>CFBundleVersion</key>
35+
<string>1</string>
36+
<key>LSMinimumSystemVersion</key>
37+
<string>12.0</string>
38+
<key>LSRequiresIPhoneOS</key>
39+
<true/>
40+
<key>NSAppTransportSecurity</key>
41+
<dict>
42+
<key>NSAllowsArbitraryLoads</key>
43+
<false/>
44+
<key>NSAllowsLocalNetworking</key>
45+
<true/>
46+
</dict>
47+
<key>NSMicrophoneUsageDescription</key>
48+
<string>We need your permission to use the microphone.</string>
49+
<key>UIAppFonts</key>
50+
<array>
51+
<string>Aeonik-Regular.otf</string>
52+
<string>Aeonik-Medium.otf</string>
53+
</array>
54+
<key>UILaunchStoryboardName</key>
55+
<string>SplashScreen</string>
56+
<key>UIRequiredDeviceCapabilities</key>
57+
<array>
58+
<string>arm64</string>
59+
</array>
60+
<key>UIRequiresFullScreen</key>
61+
<false/>
62+
<key>UIStatusBarStyle</key>
63+
<string>UIStatusBarStyleDefault</string>
64+
<key>UISupportedInterfaceOrientations</key>
65+
<array>
66+
<string>UIInterfaceOrientationPortrait</string>
67+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
68+
</array>
69+
<key>UISupportedInterfaceOrientations~ipad</key>
70+
<array>
71+
<string>UIInterfaceOrientationPortrait</string>
72+
<string>UIInterfaceOrientationPortraitUpsideDown</string>
73+
<string>UIInterfaceOrientationLandscapeLeft</string>
74+
<string>UIInterfaceOrientationLandscapeRight</string>
75+
</array>
76+
<key>UIUserInterfaceStyle</key>
77+
<string>Light</string>
78+
<key>UIViewControllerBasedStatusBarAppearance</key>
79+
<false/>
80+
</dict>
81+
</plist>
+4
Loading
+4
Loading

examples/llm/ios/Podfile.lock

+75-69
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PODS:
22
- boost (1.84.0)
33
- DoubleConversion (1.1.6)
4-
- EXConstants (17.1.5):
4+
- EXConstants (17.1.6):
55
- ExpoModulesCore
66
- Expo (53.0.8):
77
- DoubleConversion
@@ -67,6 +67,8 @@ PODS:
6767
- ReactCommon/turbomodule/bridging
6868
- ReactCommon/turbomodule/core
6969
- Yoga
70+
- ExpoSpeech (13.1.4):
71+
- ExpoModulesCore
7072
- fast_float (6.1.4)
7173
- FBLazyVector (0.79.2)
7274
- fmt (11.0.2)
@@ -1399,7 +1401,7 @@ PODS:
13991401
- React-jsiexecutor
14001402
- React-RCTFBReactNativeSpec
14011403
- ReactCommon/turbomodule/core
1402-
- react-native-executorch (0.3.2):
1404+
- react-native-executorch (0.3.1-stt-7):
14031405
- DoubleConversion
14041406
- glog
14051407
- hermes-engine
@@ -2009,6 +2011,7 @@ DEPENDENCIES:
20092011
- ExpoFont (from `../node_modules/expo-font/ios`)
20102012
- ExpoKeepAwake (from `../node_modules/expo-keep-awake/ios`)
20112013
- ExpoModulesCore (from `../node_modules/expo-modules-core`)
2014+
- ExpoSpeech (from `../node_modules/expo-speech/ios`)
20122015
- fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`)
20132016
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
20142017
- fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
@@ -2112,6 +2115,8 @@ EXTERNAL SOURCES:
21122115
:path: "../node_modules/expo-keep-awake/ios"
21132116
ExpoModulesCore:
21142117
:path: "../node_modules/expo-modules-core"
2118+
ExpoSpeech:
2119+
:path: "../node_modules/expo-speech/ios"
21152120
fast_float:
21162121
:podspec: "../node_modules/react-native/third-party-podspecs/fast_float.podspec"
21172122
FBLazyVector:
@@ -2259,91 +2264,92 @@ EXTERNAL SOURCES:
22592264
:path: "../node_modules/react-native/ReactCommon/yoga"
22602265

22612266
SPEC CHECKSUMS:
2262-
boost: 1dca942403ed9342f98334bf4c3621f011aa7946
2263-
DoubleConversion: f16ae600a246532c4020132d54af21d0ddb2a385
2264-
EXConstants: 26f334022fc0b454b7ecdc7c12d36ffa68c7c397
2265-
Expo: 54adb30ffa0a086c1a4bb87364d69b7917caeb49
2266-
ExpoAsset: 3ea3275cca6a7793b3d36fbf1075c590f803fbcb
2267-
ExpoBrightness: 05e750736f8886dcf235212b0caf85b0f605fc88
2268-
ExpoCalendar: 660542dc1c5ef98f46bedcc8745aa707df5d501a
2269-
ExpoFileSystem: ff47f2208da552fbee872dedc4e74fb7c6ac5907
2270-
ExpoFont: 312c73403bbd4f98e1d6a5330641a56292583cd2
2271-
ExpoKeepAwake: e8dedc115d9f6f24b153ccd2d1d8efcdfd68a527
2272-
ExpoModulesCore: 0bf5158ae9fb71e575582a8a48dbd26ced42f306
2267+
boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90
2268+
DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
2269+
EXConstants: 9f310f44bfedba09087042756802040e464323c0
2270+
Expo: 769ab5c190382eedebc733af6708bbc9ca5f643b
2271+
ExpoAsset: 3bc9adb7dbbf27ae82c18ca97eb988a3ae7e73b1
2272+
ExpoBrightness: c335c6ccc082d5249a4b38dba5cd9a08aa0bf62b
2273+
ExpoCalendar: f5f94ea8dcd957b1434beb4e1c0da1af063322e6
2274+
ExpoFileSystem: 0f3f466ecd3560f55768cd3f94ac3a17f093b8e6
2275+
ExpoFont: abbb91a911eb961652c2b0a22eef801860425ed6
2276+
ExpoKeepAwake: bf0811570c8da182bfb879169437d4de298376e7
2277+
ExpoModulesCore: 3ac17421302df62928fc99c133cf25bdbcf0b004
2278+
ExpoSpeech: 4db7ef7888b9edc39ca9afee54e9c4b3df269ccb
22732279
fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6
22742280
FBLazyVector: 84b955f7b4da8b895faf5946f73748267347c975
2275-
fmt: 01b82d4ca6470831d1cc0852a1af644be019e8f6
2276-
glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
2281+
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
2282+
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
22772283
hermes-engine: 314be5250afa5692b57b4dd1705959e1973a8ebe
22782284
opencv-rne: 63e933ae2373fc91351f9a348dc46c3f523c2d3f
2279-
RCT-Folly: 36fe2295e44b10d831836cc0d1daec5f8abcf809
2285+
RCT-Folly: e78785aa9ba2ed998ea4151e314036f6c49e6d82
22802286
RCTDeprecation: 83ffb90c23ee5cea353bd32008a7bca100908f8c
22812287
RCTRequired: eb7c0aba998009f47a540bec9e9d69a54f68136e
22822288
RCTTypeSafety: 659ae318c09de0477fd27bbc9e140071c7ea5c93
22832289
React: c2d3aa44c49bb34e4dfd49d3ee92da5ebacc1c1c
22842290
React-callinvoker: 1bdfb7549b5af266d85757193b5069f60659ef9d
2285-
React-Core: 7150cf9b6a5af063b37003062689f1691e79c020
2286-
React-CoreModules: 15a85e6665d61678942da6ae485b351f4c699049
2287-
React-cxxreact: 74f9de59259ac951923f5726aa14f0398f167af9
2291+
React-Core: 10597593fdbae06f0089881e025a172e51d4a769
2292+
React-CoreModules: 6907b255529dd46895cf687daa67b24484a612c2
2293+
React-cxxreact: a9f5b8180d6955bc3f6a3fcd657c4d9b4d95c1f6
22882294
React-debug: e74e76912b91e08d580c481c34881899ccf63da9
2289-
React-defaultsnativemodule: 628285212bbd65417d40ad6a9f8781830fda6c98
2290-
React-domnativemodule: 185d9808198405c176784aaf33403d713bd24fb7
2291-
React-Fabric: c814804affbe1952e16149ddd20256e1bccae67e
2292-
React-FabricComponents: 81ef47d596966121784afec9924f9562a29b1691
2293-
React-FabricImage: f14f371d678aa557101def954ac3ba27e48948ff
2295+
React-defaultsnativemodule: 11f6ee2cf69bf3af9d0f28a6253def33d21b5266
2296+
React-domnativemodule: f940bbc4fa9e134190acbf3a4a9f95621b5a8f51
2297+
React-Fabric: 6f5c357bf3a42ff11f8844ad3fc7a1eb04f4b9de
2298+
React-FabricComponents: 10e0c0209822ac9e69412913a8af1ca33573379b
2299+
React-FabricImage: f582e764072dfa4715ae8c42979a5bace9cbcc12
22942300
React-featureflags: d5facceff8f8f6de430e0acecf4979a9a0839ba9
2295-
React-featureflagsnativemodule: 96f0ab285382d95c90f663e02526a5ceefa95a11
2296-
React-graphics: 1a66ee0a3f093b125b853f6370296fadcaf6f233
2297-
React-hermes: 8b86e5f54a65ecb69cdf22b3a00a11562eda82d2
2298-
React-idlecallbacksnativemodule: 5c25ab145c602264d00cb26a397ab52e0efa031c
2299-
React-ImageManager: 15e34bd5ef1ac4a18e96660817ef70a7f99ee8c2
2300-
React-jserrorhandler: 02cdf2cd45350108be1ffd2b164578936dbbdff7
2301-
React-jsi: 6af1987cfbb1b6621664fdbf6c7b62bd4d38c923
2302-
React-jsiexecutor: 51f372998e0303585cb0317232b938d694663cbd
2303-
React-jsinspector: 3539ad976d073bfaa8a7d2fa9bef35e70e55033e
2304-
React-jsinspectortracing: e8dbacaf67c201f23052ca1c2bae2f7b84dec443
2305-
React-jsitooling: 95a34f41e3c249d42181de13b4f8d854f178ca9f
2306-
React-jsitracing: 25b029cf5cad488252d46da19dd8c4c134fd5fe4
2307-
React-logger: 368570a253f00879a1e4fea24ed4047e72e7bbf3
2308-
React-Mapbuffer: c04fcda1c6281fc0a6824c7dcc1633dd217ac1ec
2309-
React-microtasksnativemodule: ca2804a25fdcefffa0aa942aa23ab53b99614a34
2310-
react-native-executorch: aa97983ed344f0cbfb47f531f0c24638c579f1c1
2311-
react-native-safe-area-context: 00d03dc688ba86664be66f9e3f203fc7d747d899
2312-
React-NativeModulesApple: 452b86b29fae99ed0a4015dca3ad9cd222f88abf
2301+
React-featureflagsnativemodule: a7dd141f1ef4b7c1331af0035689fbc742a49ff4
2302+
React-graphics: 36ae3407172c1c77cea29265d2b12b90aaef6aa0
2303+
React-hermes: 9116d4e6d07abeb519a2852672de087f44da8f12
2304+
React-idlecallbacksnativemodule: ae7f5ffc6cf2d2058b007b78248e5b08172ad5c3
2305+
React-ImageManager: 9daee0dc99ad6a001d4b9e691fbf37107e2b7b54
2306+
React-jserrorhandler: 1e6211581071edaf4ecd5303147328120c73f4dc
2307+
React-jsi: 753ba30c902f3a41fa7f956aca8eea3317a44ee6
2308+
React-jsiexecutor: 47520714aa7d9589c51c0f3713dfbfca4895d4f9
2309+
React-jsinspector: cfd27107f6d6f1076a57d88c932401251560fe5f
2310+
React-jsinspectortracing: 76a7d791f3c0c09a0d2bf6f46dfb0e79a4fcc0ac
2311+
React-jsitooling: 995e826570dd58f802251490486ebd3244a037ab
2312+
React-jsitracing: 094ae3d8c123cea67b50211c945b7c0443d3e97b
2313+
React-logger: 8edfcedc100544791cd82692ca5a574240a16219
2314+
React-Mapbuffer: c3f4b608e4a59dd2f6a416ef4d47a14400194468
2315+
React-microtasksnativemodule: 054f34e9b82f02bd40f09cebd4083828b5b2beb6
2316+
react-native-executorch: 8bca350ccbb66246dd7366fb6514fed57083930e
2317+
react-native-safe-area-context: 562163222d999b79a51577eda2ea8ad2c32b4d06
2318+
React-NativeModulesApple: 2c4377e139522c3d73f5df582e4f051a838ff25e
23132319
React-oscompat: ef5df1c734f19b8003e149317d041b8ce1f7d29c
2314-
React-perflogger: 6fd2f6811533e9c19a61e855c3033eecbf4ad2a0
2315-
React-performancetimeline: abf31259d794c9274b3ea19c5016186925eec6c4
2320+
React-perflogger: 9a151e0b4c933c9205fd648c246506a83f31395d
2321+
React-performancetimeline: 5b0dfc0acba29ea0269ddb34cd6dd59d3b8a1c66
23162322
React-RCTActionSheet: a499b0d6d9793886b67ba3e16046a3fef2cdbbc3
2317-
React-RCTAnimation: 2595dcb10a82216a511b54742f8c28d793852ac6
2318-
React-RCTAppDelegate: f03604b70f57c9469a84a159d8abecf793a5bcff
2319-
React-RCTBlob: e00f9b4e2f151938f4d9864cf33ebf24ac03328a
2320-
React-RCTFabric: 3945d116fd271598db262d4e6ed5691d431ed9e8
2321-
React-RCTFBReactNativeSpec: 0f4d4f0da938101f2ca9d5333a8f46e527ad2819
2322-
React-RCTImage: dac5e9f8ec476aefe6e60ee640ebc1dfaf1a4dbe
2323-
React-RCTLinking: 494b785a40d952a1dfbe712f43214376e5f0e408
2324-
React-RCTNetwork: b3d7c30cd21793e268db107dd0980cb61b3c1c44
2325-
React-RCTRuntime: a8ff419d437228e7b8a793b14f9d711e1cbb82af
2326-
React-RCTSettings: a060c7e381a3896104761b8eed7e284d95e37df3
2327-
React-RCTText: 4f272b72dbb61f390d8c8274528f9fdbff983806
2328-
React-RCTVibration: 0e5326220719aca12473d703aa46693e3b4ce67a
2323+
React-RCTAnimation: cc64adc259aabc3354b73065e2231d796dfce576
2324+
React-RCTAppDelegate: 9d523da768f1c9e84c5f3b7e3624d097dfb0e16b
2325+
React-RCTBlob: e727f53eeefded7e6432eb76bd22b57bc880e5d1
2326+
React-RCTFabric: 58590aa4fdb4ad546c06a7449b486cf6844e991f
2327+
React-RCTFBReactNativeSpec: 9064c63d99e467a3893e328ba3612745c3c3a338
2328+
React-RCTImage: 7159cbdbb18a09d97ba1a611416eced75b3ccb29
2329+
React-RCTLinking: 46293afdb859bccc63e1d3dedc6901a3c04ef360
2330+
React-RCTNetwork: 4a6cd18f5bcd0363657789c64043123a896b1170
2331+
React-RCTRuntime: 5ab904fd749aa52f267ef771d265612582a17880
2332+
React-RCTSettings: 61e361dc85136d1cb0e148b7541993d2ee950ea7
2333+
React-RCTText: abd1e196c3167175e6baef18199c6d9d8ac54b4e
2334+
React-RCTVibration: 490e0dcb01a3fe4a0dfb7bc51ad5856d8b84f343
23292335
React-rendererconsistency: 351fdbc5c1fe4da24243d939094a80f0e149c7a1
2330-
React-renderercss: d333f2ada83969591100d91ec6b23ca2e17e1507
2331-
React-rendererdebug: 039e5949b72ba63c703de020701e3fd152434c61
2336+
React-renderercss: 3438814bee838ae7840a633ab085ac81699fd5cf
2337+
React-rendererdebug: 0ac2b9419ad6f88444f066d4b476180af311fb1e
23322338
React-rncore: 57ed480649bb678d8bdc386d20fee8bf2b0c307c
2333-
React-RuntimeApple: 344a5e1105256000afabaa8df12c3e4cab880340
2334-
React-RuntimeCore: 0e48fb5e5160acc0334c7a723a42d42cef4b58b6
2339+
React-RuntimeApple: 8b7a9788f31548298ba1990620fe06b40de65ad7
2340+
React-RuntimeCore: e03d96fbd57ce69fd9bca8c925942194a5126dbc
23352341
React-runtimeexecutor: d60846710facedd1edb70c08b738119b3ee2c6c2
2336-
React-RuntimeHermes: 064286a03871d932c99738e0f8ef854962ab4b99
2337-
React-runtimescheduler: e917ab17ae08c204af1ebf8f669b7e411b0220c8
2342+
React-RuntimeHermes: aab794755d9f6efd249b61f3af4417296904e3ba
2343+
React-runtimescheduler: c3cd124fa5db7c37f601ee49ca0d97019acd8788
23382344
React-timing: a90f4654cbda9c628614f9bee68967f1768bd6a5
2339-
React-utils: 51c4e71608b8133fecc9a15801d244ae7bdf3758
2340-
ReactAppDependencyProvider: d5dcc564f129632276bd3184e60f053fcd574d6b
2341-
ReactCodegen: fda99a79c866370190e162083a35602fdc314e5d
2342-
ReactCommon: 4d0da92a5eb8da86c08e3ec34bd23ab439fb2461
2343-
RNReanimated: 8b24b49fc13fce9a6e1729ccff645a63d2b7a6d1
2344-
RNSVG: ee32efbed652c5151fd3f98bed13c68af285bc38
2345+
React-utils: a612d50555b6f0f90c74b7d79954019ad47f5de6
2346+
ReactAppDependencyProvider: 04d5eb15eb46be6720e17a4a7fa92940a776e584
2347+
ReactCodegen: c63eda03ba1d94353fb97b031fc84f75a0d125ba
2348+
ReactCommon: 76d2dc87136d0a667678668b86f0fca0c16fdeb0
2349+
RNReanimated: 2313402fe27fecb7237619e9c6fcee3177f08a65
2350+
RNSVG: 794f269526df9ddc1f79b3d1a202b619df0368e3
23452351
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
2346-
Yoga: 9f110fc4b7aa538663cba3c14cbb1c335f43c13f
2352+
Yoga: c758bfb934100bb4bf9cbaccb52557cee35e8bdf
23472353

23482354
PODFILE CHECKSUM: bba19a069e673f2259009e9d2caab44374fdebcf
23492355

examples/llm/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
"expo-brightness": "~13.1.4",
1515
"expo-calendar": "~14.1.4",
1616
"expo-font": "~13.3.1",
17+
"expo-speech": "^13.0.1",
1718
"expo-status-bar": "~2.2.3",
1819
"metro-config": "^0.81.0",
1920
"react": "19.0.0",
2021
"react-native": "^0.79.2",
21-
"react-native-executorch": "^0.3.2",
22+
"react-native-executorch": "/Users/kopcion/swm-ai/react-native-executorch/react-native-executorch-0.3.1-stt-7.tgz",
2223
"react-native-loading-spinner-overlay": "^3.0.1",
2324
"react-native-markdown-display": "^7.0.2",
2425
"react-native-reanimated": "^3.17.5",

0 commit comments

Comments
 (0)