Tuesday, April 11, 2023

Show HN: GPT–LLM native macOS app with time travel, versioning, search https://ift.tt/yl7kquR

Show HN: GPT–LLM native macOS app with time travel, versioning, search Hey everyone! I made a Mac app for exploring large language models. It’s fast, small, has a tiny memory footprint. It’s immutable by design with both immediate time travel and automatic versioning as foundational elements. The app is written in Swift and a bit of Rust for the tokenizer. I used SwiftUI for structure and animations and Cocoa for advanced behavior. All storage is SQLite and local-only. You can go through the database as needed and backup it as well. The app has support for variants, which is the `n` parameter in the OpenAI chat completion API—equivalent to the drafts feature in Bard. It shows model- and ChatML-aware tokens and cost, and it dynamically adjusts response length in function of prompt length and context length. It supports hiding runs that are not useful, marking the ones that are notable, and going through the ancestry of the current run. It also has support for examples, as specified in ChatML, conversation names and personal and local-only notes. The full-text search works across all stored text and it has support for `all`, `any`, `prefix` and `phrase` matching; the results are time-ordered rather than ranked for the time being. There are several shortcuts and more are coming so that the app can be used entirely by keyboard. You can export to JSON and all data is exported. The app is sandboxed and notarized. The API keys are stored securely in the Keychain. Next I plan to implement combinatorial runs (mixing multiple values of the same parameter and multiple models as well) and full Markdown support. Currently only OpenAI’s conversational models are supported (GPT 3.5, GPT 4 8K, GPT 4 32K), but I’ll be adding support for local models and custom ChatML endpoints as soon as possible. Give it a try. Any and all feedback welcome! Thoughts and questions as well! William https://thellm.app April 11, 2023 at 11:34PM

No comments:

Post a Comment