> Plan how to refactor the codebase to use the new JobDefinition.create function introduced in git commit <git commit hash>. Split task into subtasks, if needed. Write the plan to todo.md.
...
> Start working on the task in @todo.md. Write code that follows the "Keep it simple, stupid!" principle.
You can get pretty good results by copying the output from Firefox's Reader View into your project, for example:
about:reader?url=https://learnxinyminutes.com/ocaml/
You can easily experiment with smaller models, for example, Mistral 7B or Phi-2 on M1/M2/M3 processors. With more memory, you can run larger models, and better memory bandwidth (M2 Ultra vs. M2 base model) means improved performance (tokens/second).
The fact that the only thing WebUI needs is a web browser is a bit of a problem for me, so I decided to go with Tauri, which uses the system's webview, for my HTML-based application:
https://github.com/christianhellsten/ollama-html-ui/
The biggest problem with HTML/CSS apps is that their look and feel are different from native GUIs. This is less of a problem for chat and document-based applications (Slack, Word, etc.), IMO. With Tauri, I can also customize the window and integrate native features to mitigate this. I'm not sure WebUI can do this.
I’ve tried something similar on the frontend side: I decided to build a UI for Ollama.ai using only HTML, CSS, and JS (Single-Page Application). The goal is to learn something new and have zero runtime dependencies on other projects and NPM modules. Only Node and Parcel.js (https://parceljs.org/) are needed during development for serving files, bundling, etc. The only runtime dependency is a modern browser.
Here's what I have found so far:
- JavaScript (vanilla) is a viable alternative to React.js
- HTML entities (UTF-8) are an alternative to, for example, font-awesome
- Parcel.js is great for bundling cross-browser compatible Javascript apps: simple to install and no configuration needed. By default Parcel.js supports every browser having 0.25% or more of the total amount of active web users.
- The HTML template tag and JavaScript work well as a replacement for template libraries like Pug
- ChatGPT4 is great at writing the skeleton code for a project
Future plans include experimenting with `node:test` for testing.
I would need to add external libraries to fully support the following features, but I think I will continue on the zero-dependencies path:
In principle, the theory behind indexation is very much like the theory of perfect
competition. In perfect competition, the idea is that no participant is sufficiently powerful
or sufficiently large to influence the price of the product. The product is assumed to be
homogeneous, and shares are designed to be homogeneous. In the theory of market
efficiency, no one has an information advantage over anyone else, and there is always
enough liquidity. It seems reasonable to make those assumptions. Yet, it is worth making
some observations about them.
"CONCLUSIONS:
Vegetarian diet is associated with an elevated risk of mental disorders. However, there was no evidence for a causal role of vegetarian diet in the etiology of mental disorders."
> Plan how to refactor the codebase to use the new JobDefinition.create function introduced in git commit <git commit hash>. Split task into subtasks, if needed. Write the plan to todo.md.
...
> Start working on the task in @todo.md. Write code that follows the "Keep it simple, stupid!" principle.