Siri LLama is apple shortcut that access locally running LLMs through Siri or the shortcut UI on any apple device connected to the same network of your host machine. It uses Langchain 🦜🔗 and supports open source models from both Ollama 🦙 or Fireworks AI 🎆
-
Install Ollama for your machine, you have to run
ollama serve
in the terminal to start the server -
pull the models you want to use, for example
ollama run llama3 # chat model
ollama run llava # multimodal
- Install Langchain and Flask
pip install --upgrade --quiet langchain langchain-community
pip install flask
- in
config.py
setOLLAMA_CHAT
andOLLAMA_VISUAL_CHAT
to the models you pulled from Ollama
1.Install Langchain and Flask
pip install --upgrade --quiet langchain langchain-fireworks
pip install flask
-
get your Fireworks API Key and put it in
fireworks_models.py
-
in
config.py
setFIREWORKS_CHAT
andvchat_model
to the models you want to use from Fireworks AI. and set your andFIREWORKS_API_KEY
in confing.py
set MEMORY_SIZE
(How many previous messages to remember) and ANSWER_SIZE_WORDS
(How many words to generate in the answer)
-
Download or clone the repo
-
set the provider (Ollama / Fireworks) in
app.py
-
Run the flask app using
>>> python3 app.py
-
On your Apple device, Download the shortcut from here
-
Run the shortcut through Siri or the shortcut UI, in first time you run the shortcut you will be asked to enter your IP address and the port number showing in terminal
>>> python app.py
...
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://192.168.1.134:5000
Press CTRL+C to quit
In the example above, the IP address is 192.168.1.134
and the port is 5000
- Even we access the flask app (not Ollama server directly), Some windows users who have Ollama installed using
WSL
have to make sure ollama servere is exposed to the network, Check this issue for more details - Running the shortcut for the first time from Siri, will ask you to allow sending data to the server. it doesn't click in IOS 17.4, try to send any message from the shortcut UI to allow, then try again from Siri
Supposedly SiriLLama should work with any LLMs that including OpenAI, Claude, etc. but make sure first you installed the corresponding Langchain packages and set the models in config.py