Daniel Hiltgen
9d8a4988e8
Implement log rotation for tray app
2024-06-19 12:53:34 -07:00
Daniel Hiltgen
b2799f111b
Move libraries out of users path
...
We update the PATH on windows to get the CLI mapped, but this has
an unintended side effect of causing other apps that may use our bundled
DLLs to get terminated when we upgrade.
2024-06-17 13:12:18 -07:00
Michael Yang
e919f6811f
lint windows
2024-06-04 11:13:30 -07:00
Michael Yang
e40145a39d
lint
2024-06-04 11:13:30 -07:00
Jeffrey Morgan
d4a86102fd
update welcome prompt in windows to `llama3` ( #4779 )
2024-06-01 21:05:51 -07:00
Patrick Devine
4cc3be3035
Move envconfig and consolidate env vars ( #4608 )
2024-05-24 14:57:15 -07:00
jmorganca
4ec7445a6f
Revert "use post token"
...
This reverts commit 0fec3525ad .
2024-05-11 22:19:14 -07:00
Michael Yang
0fec3525ad
use post token
2024-05-11 19:13:16 -07:00
Daniel Hiltgen
f56aa20014
Centralize server config handling
...
This moves all the env var reading into one central module
and logs the loaded config once at startup which should
help in troubleshooting user server logs
2024-05-05 16:49:50 -07:00
alwqx
6707768ebd
chore: format go code ( #4149 )
2024-05-05 16:08:09 -07:00
Jeffrey Morgan
95ead8ffba
Restart server on failure when running Windows app ( #3985 )
...
* app: restart server on failure
* fix linter
* address comments
* refactor log directory creation to be where logs are written
* check all log dir creation errors
2024-04-29 10:07:52 -04:00
Hernan Martinez
6d3152a98a
Use architecture specific folders in installer script
2024-04-26 23:35:16 -06:00
Nataly Merezhuk
8e30eb26bd
Updates the setup command to use llama3. ( #3962 )
2024-04-26 18:41:01 -04:00
Daniel Hiltgen
8feb97dc0d
Move cuda/rocm dependency gathering into generate script
...
This will make it simpler for CI to accumulate artifacts from prior steps
2024-04-25 22:38:44 -07:00
Daniel Hiltgen
058f6cd2cc
Move nested payloads to installer and zip file on windows
...
Now that the llm runner is an executable and not just a dll, more users are facing
problems with security policy configurations on windows that prevent users
writing to directories and then executing binaries from the same location.
This change removes payloads from the main executable on windows and shifts them
over to be packaged in the installer and discovered based on the executables location.
This also adds a new zip file for people who want to "roll their own" installation model.
2024-04-23 16:14:47 -07:00
Jeffrey Morgan
7027f264fb
app: gracefully shut down `ollama serve` on windows ( #3641 )
...
* app: gracefully shut down `ollama serve` on windows
* fix linter errors
* bring back `HideWindow`
* remove creation flags
* restore `windows.CREATE_NEW_PROCESS_GROUP`
2024-04-14 18:33:25 -04:00
Michael Yang
2b4ca6cf36
fix ci
2024-04-10 11:35:12 -07:00
Daniel Hiltgen
58d95cc9bd
Switch back to subprocessing for llama.cpp
...
This should resolve a number of memory leak and stability defects by allowing
us to isolate llama.cpp in a separate process and shutdown when idle, and
gracefully restart if it has problems. This also serves as a first step to be
able to run multiple copies to support multiple models concurrently.
2024-04-01 16:48:18 -07:00
Patrick Devine
1b272d5bcd
change `github.com/jmorganca/ollama` to `github.com/ollama/ollama` ( #3347 )
2024-03-26 13:04:17 -07:00
Steven Lee
152ab524c2
Update ollama.iss
...
add arm64 support
2024-03-13 20:15:45 +08:00
Daniel Hiltgen
6c5ccb11f9
Revamp ROCm support
...
This refines where we extract the LLM libraries to by adding a new
OLLAMA_HOME env var, that defaults to `~/.ollama` The logic was already
idempotenent, so this should speed up startups after the first time a
new release is deployed. It also cleans up after itself.
We now build only a single ROCm version (latest major) on both windows
and linux. Given the large size of ROCms tensor files, we split the
dependency out. It's bundled into the installer on windows, and a
separate download on windows. The linux install script is now smart and
detects the presence of AMD GPUs and looks to see if rocm v6 is already
present, and if not, then downloads our dependency tar file.
For Linux discovery, we now use sysfs and check each GPU against what
ROCm supports so we can degrade to CPU gracefully instead of having
llama.cpp+rocm assert/crash on us. For Windows, we now use go's windows
dynamic library loading logic to access the amdhip64.dll APIs to query
the GPU information.
2024-03-07 10:36:50 -08:00
Daniel Hiltgen
1cde63dd64
Log unexpected server errors checking for update
...
This should unmask some failure modes that likely
show up in app logs as unmarshal errors
2024-02-27 09:17:04 -08:00
Jeffrey Morgan
5d7ea6616f
no extra disk space for windows installation ( #2739 )
2024-02-25 00:20:35 -05:00
Jeffrey Morgan
f58856bf6f
better directory cleanup in `ollama.iss`
2024-02-23 07:14:59 -05:00
Jeffrey Morgan
275ea01587
restore windows build flags and compression
2024-02-22 18:07:18 -05:00
Jeffrey Morgan
1ae1c33651
Windows build + installer adjustments ( #2656 )
...
* remove `-w -s` linker flags on windows
* use `zip` for windows installer compression
2024-02-21 18:21:26 -05:00
Michael Yang
897b213468
use http.DefaultClient ( #2530 )
...
default client already handles proxy
2024-02-20 18:34:47 -05:00
Daniel Hiltgen
a497235a55
Fix view logs menu
2024-02-16 15:42:53 -08:00
Daniel Hiltgen
df6dc4fd96
Fix duplicate menus on update and exit on signals
...
Also fixes a few fit-and-finish items for better developer experience
2024-02-16 15:33:16 -08:00
Daniel Hiltgen
117369aa73
Exit if we detect another copy of Ollama running
2024-02-15 14:58:29 -08:00
Daniel Hiltgen
5208cf09b1
clean up some logging
2024-02-15 14:56:55 -08:00
Daniel Hiltgen
bb9de6037c
Prevent multiple installers running concurrently
2024-02-15 14:56:55 -08:00
Michael Yang
86808f80a8
remove unused import
2024-02-15 12:09:11 -08:00
Michael Yang
4240b045e6
always enable view logs
2024-02-15 12:08:27 -08:00
Michael Yang
e547378893
disable default debug
2024-02-15 12:05:13 -08:00
Michael Yang
fd77dbec4d
do not print update request headers
2024-02-15 11:36:35 -08:00
Jeffrey Morgan
ed5489a96e
higher resolution tray icons
2024-02-14 22:55:03 -08:00
jmorganca
76113742cf
update installer title
2024-02-15 05:56:45 +00:00
Jeffrey Morgan
57e60c836f
better windows app and tray icons
2024-02-15 05:56:45 +00:00
jmorganca
622b1f3e67
update installer and app.exe metadata
2024-02-15 05:56:45 +00:00
jmorganca
7ad9844ac0
set exe metadata using resource files
2024-02-15 05:56:45 +00:00
Michael Yang
e43648afe5
rerefactor
2024-02-15 05:56:45 +00:00
Daniel Hiltgen
29e90cc13b
Implement new Go based Desktop app
...
This focuses on Windows first, but coudl be used for Mac
and possibly linux in the future.
2024-02-15 05:56:45 +00:00
Daniel Hiltgen
9da9e8fb72
Move Mac App to a new dir
2024-02-15 05:56:45 +00:00
Jeffrey Morgan
cbfff4f868
update dependencies in `app/`
2023-10-19 15:52:41 -04:00
Jeffrey Morgan
832b4db9d4
Use correct url for auto updates
2023-10-13 19:04:42 -04:00
Bruce MacDonald
c43873f33b
check update response ( #785 )
2023-10-13 18:05:46 -04:00
Bruce MacDonald
3553d10769
check for newer updates ( #784 )
...
Co-authored-by: Jeffrey Morgan <jmorganca@gmail.com>
2023-10-13 17:29:46 -04:00
Bruce MacDonald
24d82a23a2
do not download updates multiple times ( #633 )
2023-09-28 15:29:17 -04:00
Jeffrey Morgan
a5dbcf2e73
app: dont package `ggml-metal.metal`
2023-08-31 17:41:09 -04:00
Bruce MacDonald
42998d797d
subprocess llama.cpp server ( #401 )
...
* remove c code
* pack llama.cpp
* use request context for llama_cpp
* let llama_cpp decide the number of threads to use
* stop llama runner when app stops
* remove sample count and duration metrics
* use go generate to get libraries
* tmp dir for running llm
2023-08-30 16:35:03 -04:00
Jeffrey Morgan
3d79b414d3
app: package `ggml-metal.metal` from correct directory
2023-08-17 23:55:45 -04:00
Jeffrey Morgan
4ab1da38ba
guard around `id()`
2023-08-10 14:11:54 -07:00
Jeffrey Morgan
76a678af34
app: dont always show installer window on top now that it lives in the dock
2023-08-10 09:53:46 -07:00
Jeffrey Morgan
6fbb380076
hide dock icon if window closes
2023-08-02 11:05:34 -04:00
Jeffrey Morgan
c75cafdb58
build for `universal` architecture on macos
2023-07-28 12:18:11 -04:00
Jeffrey Morgan
18b6b601ad
app: cleanup `README.md`
2023-07-28 10:51:41 -04:00
Jeffrey Morgan
0871083776
app: fix tray icon color scheme in dark mode
2023-07-28 07:03:46 -04:00
Jeffrey Morgan
dbb3174cbc
app: fix #218 and keep dock open on install
2023-07-27 10:53:38 -04:00
Jeffrey Morgan
31673d26d0
app: quit other instance when starting
2023-07-27 00:57:25 -04:00
Jeffrey Morgan
d0e934b497
app: tray cleanup
2023-07-26 14:24:56 -04:00
Jeffrey Morgan
e751e47d70
app: remove dialog, icons for updates
2023-07-26 14:04:36 -04:00
Jeffrey Morgan
c48f07f821
app: dont advance on error
2023-07-26 10:46:43 -04:00
Jeffrey Morgan
3f2a100465
app: log app errors to `console`
2023-07-25 15:42:04 -04:00
Eva Ho
9657314ae2
address comment
2023-07-21 17:29:07 -04:00
Eva Ho
3f7d2336c7
add prettier and address comments
2023-07-21 17:10:05 -04:00
Eva Ho
e0a73d7fbe
address comment
2023-07-21 16:53:56 -04:00
hoyyeva
b08c4ca2bd
Update app/src/index.ts
...
Co-authored-by: Jeffrey Morgan <251292+jmorganca@users.noreply.github.com>
2023-07-21 16:53:56 -04:00
Eva Ho
734892f1e2
address comment
2023-07-21 16:53:56 -04:00
Eva Ho
d2bfaeac63
format code
2023-07-21 16:53:56 -04:00
Eva Ho
0768b1b907
restart server with condition and timeout
2023-07-21 16:53:56 -04:00
Eva Ho
dfceca48a7
update icons to have different images for bright and dark mode
2023-07-19 11:14:43 -04:00
Jeffrey Morgan
4c1dc52083
app: create `/usr/local/bin/` if it does not exist
2023-07-18 22:50:52 -07:00
Jeffrey Morgan
280fbe8019
app: use `llama2` instead of `orca`
2023-07-18 12:36:03 -07:00
Eva Ho
a9cc270b4d
icon update
2023-07-18 13:33:26 -04:00
Eva Ho
aa281a30e5
updating icons
2023-07-18 13:33:26 -04:00
Eva Ho
508ffbbb15
improve the copy command experience
2023-07-17 13:17:52 -04:00
Jeffrey Morgan
59fa93cdd4
app: simpler winston settings
2023-07-16 20:26:12 -07:00
Jeffrey Morgan
952abe029b
app: remove unused import
2023-07-16 20:25:50 -07:00
Jeffrey Morgan
f923855906
app: keep installer in foreground
2023-07-16 20:25:11 -07:00
Jeffrey Morgan
9386073e96
app: dont listen for `disconnect` events
2023-07-16 19:21:50 -07:00
Jeffrey Morgan
52ea4d4bb2
app: use `app.on('before-quit')` to detect app closing
2023-07-16 19:18:12 -07:00
Jeffrey Morgan
c4ba192187
app: use `enum` for steps
2023-07-16 18:47:23 -07:00
Jeffrey Morgan
fe758ca319
app: do not restart the server if app is closing
2023-07-16 18:41:43 -07:00
Jeffrey Morgan
08b933cc10
app: use `async` and `await instead of callbacks
2023-07-16 18:38:37 -07:00
Jeffrey Morgan
6746a00af8
app: format `app.tsx`
2023-07-16 18:29:11 -07:00
Jeffrey Morgan
560f36e6c8
app: set `first-time-run` to `true` instead of `false`
2023-07-14 16:50:12 -07:00
hoyyeva
e88dd25bab
ollama app welcome screen for first time run ( #80 )
2023-07-14 16:34:24 -07:00
Jeffrey Morgan
dcb6ba389a
app: trim server lines before logging
2023-07-11 16:43:19 -07:00
Jeffrey Morgan
ed6abba75a
app: bundle real `ggml-metal.metal` instead of symlink
2023-07-11 16:36:39 -07:00
Jeffrey Morgan
2ed26f0047
tweak logging
2023-07-11 16:16:38 -07:00
Jeffrey Morgan
3d0a9b477b
log to console as well as file
2023-07-11 15:52:22 -07:00
Eva Ho
7762584fb1
address comments
2023-07-11 14:38:38 -04:00
Eva Ho
acc31427dd
add logs to ~/.ollama/logs folder
2023-07-11 13:33:32 -04:00
Eva Ho
407a5cabf4
when app is running, server restarts when it exits or disconnects
2023-07-10 17:14:25 -04:00
Jeffrey Morgan
66bbf05918
start server in both dev and when packaged
2023-07-10 13:46:31 -07:00
Jeffrey Morgan
840f87430a
remove double `heartbeat`
2023-07-08 13:30:27 -04:00
Jeffrey Morgan
660dee7005
hourly heartbeat
2023-07-08 13:18:34 -04:00
Eva Ho
bc54daf2bc
add app to open at login by default
2023-07-07 13:49:42 -04:00
Jeffrey Morgan
8b57e715a7
add version
2023-07-07 13:44:36 -04:00