Kotlin/Compose Multiplatform sample to demonstrate Gemini Generative AI APIs (text based queries for now). Uses Gemini REST APIs from common code using Ktor.
Running on
- iOS
- Android
- Desktop
- Web (Wasm)
Set your Gemini API key (gemini_api_key
) in local.properties
Related posts:
To do
- Use Compose Multiplatform library to display markdown returned (waiting on one that supports Wasm based Compose for Web)
- Allow uploading images and running queries on those.
![Screenshot 2023-12-31 at 13 01 02](https://private-user-images.githubusercontent.com/6302/293506938-f128bf8f-499b-40e9-a4bd-0674aa0f9240.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTU5Mzg0NjYsIm5iZiI6MTcxNTkzODE2NiwicGF0aCI6Ii82MzAyLzI5MzUwNjkzOC1mMTI4YmY4Zi00OTliLTQwZTktYTRiZC0wNjc0YWEwZjkyNDAucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDUxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA1MTdUMDkyOTI2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDA0M2IzOGY5NjQyZTZkODkyZDJmMmI4NTFkZWQzNmIwOTgwNGZhZTBlMGFhZGFjYWIzMDZiODExYzhiYTBmOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.lkbAKa4xwwTwQDFfpEVfgA9nPKquYtKLdrzxfoXSNa4)
![Screenshot 2023-12-31 at 14 34 28](https://private-user-images.githubusercontent.com/6302/293510598-e2798cc2-2f1a-411e-a360-68b755c7686d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTU5Mzg0NjYsIm5iZiI6MTcxNTkzODE2NiwicGF0aCI6Ii82MzAyLzI5MzUxMDU5OC1lMjc5OGNjMi0yZjFhLTQxMWUtYTM2MC02OGI3NTVjNzY4NmQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDUxNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA1MTdUMDkyOTI2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDI3YmVjOTViYTYwZjBkMzlkYjZhNGRiZGZmMGU0MzMwZjM4NWQ2MjlkM2RmNGM0YmJlN2M1NmFlMDNiM2EyYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.LGcFQ4vV-OQIKC0-RUbJqeZnuPnwxlxPFwlTwlrYtSo)