This is a personal AI assistant that works with Apple Shortcuts removing the need for a dedicated hardware device.
The assistant is run on Cloudflare Workers and can work with any LLM model. The code snippet here uses llama 3 as an example with a custom function calling for fetching weather data.
-
Clone the repository:
- Clone this repository and navigate to the root directory.
-
Install dependencies:
- Run
npm install
to install the necessary dependencies.
- Run
-
Authenticate with Cloudflare:
- Run
npx wrangler login
to log in to your Cloudflare account.
- Run
-
Create KV namespaces:
- Run
npx wrangler kv:namespace create chats
to create a KV namespace. Note down the ID. - Run
npx wrangler kv:namespace create chats --preview
to create a preview KV namespace. Note down the ID.
- Run
-
Configure the project:
- Update
wrangler.toml
with the namespace IDs:
kv_namespaces = [ { binding = "personal_ai_chats", id = "<id>", preview_id = "<preview_id>"} ]
- Update
-
Set up API keys:
-
Run
npx wrangler secret put GROQ_API_KEY
to set the GROQ API key. -
Run
npx wrangler secret put OPENWEATHERMAP_API_KEY
to set the OpenWeather API key.Note: You can get these keys by signing up on GroqCloud and OpenWeather respectively.
To deploy the worker, run npx wrangler deploy
.
-
Install the shortcut:
- Use this link to install the shortcut.
-
Configure the shortcut:
- Open the shortcut and replace the
URL
field with your worker's URL. - If you didn't change the default name, the URL should be
https://personal-ai.<your-username>.workers.dev
.
- Open the shortcut and replace the