{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":761903377,"defaultBranch":"main","name":"mlx-swift-examples","ownerLogin":"ml-explore","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-22T17:47:37.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/102832242?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726155445.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"994e36e84f6f5f57b2e81246fb22c7d914b2f942","ref":"refs/heads/llm-factories","pushedAt":"2024-09-12T15:37:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"fix swift 6 warnings - thread safe tokenizer and model config\n\n- replaces #125 with simpler mechanism (NSLock)\n\nCo-authored-by: John Mai ","shortMessageHtmlLink":"fix swift 6 warnings - thread safe tokenizer and model config"}},{"before":"9ce1df45e819502a2ee98c918957c90e4feab3e8","after":null,"ref":"refs/heads/stable-diffusion","pushedAt":"2024-09-09T16:00:54.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"}},{"before":"a4f278a385766b6581b8d0bf242f45dc39828b10","after":"cf298551f317e33c390d035b94a3a9433abe9fcc","ref":"refs/heads/main","pushedAt":"2024-09-09T16:00:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"implement stable diffusion example (#120)\n\n* implement stable diffusion example\r\n\r\n- based on https://github.com/ml-explore/mlx-examples/tree/main/stable_diffusion\r\n\r\n- example code for these two models\r\n- https://huggingface.co/stabilityai/sdxl-turbo\r\n- https://huggingface.co/stabilityai/stable-diffusion-2-1\r\n\r\n- command line tool example for text-to-image\r\n- command line tool example for image-to-image\r\n- example application for same","shortMessageHtmlLink":"implement stable diffusion example (#120)"}},{"before":"1433509e13626e2ed0ac97ddb201ce27d62c9bc3","after":null,"ref":"refs/heads/chat-templates","pushedAt":"2024-09-09T16:00:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"}},{"before":"4d2f7a249448fb8b776245047fb00ed957662b93","after":"a4f278a385766b6581b8d0bf242f45dc39828b10","ref":"refs/heads/main","pushedAt":"2024-09-09T16:00:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"pick up swiftpm change from #118 (#122)","shortMessageHtmlLink":"pick up swiftpm change from #118 (#122)"}},{"before":"c9dc8873e216a4a505724153132f7aa01779538f","after":"4d2f7a249448fb8b776245047fb00ed957662b93","ref":"refs/heads/main","pushedAt":"2024-09-09T16:00:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"update swift-transformers (#118)\n\n* update swift-transformers\r\n\r\n* Update swift-transformers 0.1.11","shortMessageHtmlLink":"update swift-transformers (#118)"}},{"before":"00edfccf49022718a8f2087389360bf58ac5cdd0","after":"c9dc8873e216a4a505724153132f7aa01779538f","ref":"refs/heads/main","pushedAt":"2024-09-09T15:59:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"Support InternLM2 (#124)\n\n* Support InternLM2\r\n\r\n* swift-format\r\n* make build in xcode\r\n\r\n---------\r\n\r\nCo-authored-by: David Koski <46639364+davidkoski@users.noreply.github.com>\r\nCo-authored-by: David Koski ","shortMessageHtmlLink":"Support InternLM2 (#124)"}},{"before":"976a6294376d49391e9d01faa03f6b55c3cce5db","after":"00edfccf49022718a8f2087389360bf58ac5cdd0","ref":"refs/heads/main","pushedAt":"2024-09-09T15:32:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"Support Dynamic ModelType (#123)\n\n* Support Dynamic ModelType\r\n\r\n* replacementTokenizers set public","shortMessageHtmlLink":"Support Dynamic ModelType (#123)"}},{"before":"32da1a361dc83fd946e810bf9dc1ce997743af89","after":null,"ref":"refs/heads/download-config","pushedAt":"2024-09-04T22:19:00.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"}},{"before":"9266a6282fc56e1be03292cde6e665b765fb977b","after":"976a6294376d49391e9d01faa03f6b55c3cce5db","ref":"refs/heads/main","pushedAt":"2024-09-04T22:18:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"make sure config.json is downloaded (#121)\n\n- with recent swift 6 refactor the tokenizer and model loading sequence was changed\r\n- the tokenizer load also downloaded the config.json\r\n- make sure the model download code asks for this too","shortMessageHtmlLink":"make sure config.json is downloaded (#121)"}},{"before":null,"after":"1433509e13626e2ed0ac97ddb201ce27d62c9bc3","ref":"refs/heads/chat-templates","pushedAt":"2024-09-04T22:17:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"pick up swiftpm change from #118","shortMessageHtmlLink":"pick up swiftpm change from #118"}},{"before":null,"after":"32da1a361dc83fd946e810bf9dc1ce997743af89","ref":"refs/heads/download-config","pushedAt":"2024-09-04T22:10:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"make sure config.json is downloaded\n\n- with recent swift 6 refactor the tokenizer and model loading sequence was changed\n- the tokenizer load also downloaded the config.json\n- make sure the model download code asks for this too","shortMessageHtmlLink":"make sure config.json is downloaded"}},{"before":"0dd94f2c85d4bd40955bccef7f564b1227fef73c","after":"9ce1df45e819502a2ee98c918957c90e4feab3e8","ref":"refs/heads/stable-diffusion","pushedAt":"2024-09-04T17:11:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"typo fix","shortMessageHtmlLink":"typo fix"}},{"before":null,"after":"0dd94f2c85d4bd40955bccef7f564b1227fef73c","ref":"refs/heads/stable-diffusion","pushedAt":"2024-09-04T17:00:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"implement stable diffusion example\n\n- based on https://github.com/ml-explore/mlx-examples/tree/main/stable_diffusion\n\n- example code for these two models\n- https://huggingface.co/stabilityai/sdxl-turbo\n- https://huggingface.co/stabilityai/stable-diffusion-2-1\n\n- command line tool example for text-to-image\n- command line tool example for image-to-image\n- example application for same","shortMessageHtmlLink":"implement stable diffusion example"}},{"before":"4cd311735a4495b8c47803b421ce7eee71c181bb","after":null,"ref":"refs/heads/tokenizer-ordering","pushedAt":"2024-09-04T16:09:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"}},{"before":null,"after":"4cd311735a4495b8c47803b421ce7eee71c181bb","ref":"refs/heads/tokenizer-ordering","pushedAt":"2024-09-04T15:09:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"tokenizer load must come before model load\n\n- the tokenizer load makes sure the config.json is downloaded (LanguageModelConfigurationFromHub)\n- this is also used by the model loading (it has the configuration for the model)\n- this has to be run before the model weights are loaded for new downloads","shortMessageHtmlLink":"tokenizer load must come before model load"}},{"before":"ea526a036f55a55fbbefa00ec4c0d91cc6f07124","after":null,"ref":"refs/heads/kvcache2","pushedAt":"2024-08-30T04:24:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"}},{"before":"ab94ffc2f31a70ead3c7007afaf97a225ed3ec90","after":"9266a6282fc56e1be03292cde6e665b765fb977b","ref":"refs/heads/main","pushedAt":"2024-08-30T04:24:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"fix for #114 -- incorrect shape used in preload (#115)","shortMessageHtmlLink":"fix for #114 -- incorrect shape used in preload (#115)"}},{"before":null,"after":"ea526a036f55a55fbbefa00ec4c0d91cc6f07124","ref":"refs/heads/kvcache2","pushedAt":"2024-08-30T02:36:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"fix for #114 -- incorrect shape used in preload","shortMessageHtmlLink":"fix for #114 -- incorrect shape used in preload"}},{"before":"8d323ec31ca397d19370ecfb56da2a848cc4659d","after":null,"ref":"refs/heads/kvcache","pushedAt":"2024-08-29T20:04:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"}},{"before":"e53ffaba5395b02e8f62910df7a1368d039eb24e","after":"ab94ffc2f31a70ead3c7007afaf97a225ed3ec90","ref":"refs/heads/main","pushedAt":"2024-08-29T20:04:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"add kvcache, async eval, etc for #93 (#109)\n\n* add kvcache, async eval, etc for #93\r\n\r\n- sampling code compiled\r\n- KVCache\r\n- async_eval\r\n- NaiveStreamingDetokenizer\r\n- use mlx-swift 16.0.1","shortMessageHtmlLink":"add kvcache, async eval, etc for #93 (#109)"}},{"before":"0f273bd67d69613fae761a88523994ec3ce897b5","after":"8d323ec31ca397d19370ecfb56da2a848cc4659d","ref":"refs/heads/kvcache","pushedAt":"2024-08-29T19:53:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"match python behavior","shortMessageHtmlLink":"match python behavior"}},{"before":"f0fb9983c7882ab57be330d02a8196996df0da9b","after":null,"ref":"refs/heads/swift-6-part2","pushedAt":"2024-08-28T23:13:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"}},{"before":"b381a2dfd9e489f6bcef467286802a2018794d10","after":"e53ffaba5395b02e8f62910df7a1368d039eb24e","ref":"refs/heads/main","pushedAt":"2024-08-28T23:13:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"refactor llm model load code to build inside the actor (#108)\n\n* refactor llm model load code to build inside the actor\r\n\r\n- this fixes the attempt to send non Sendable data between threads\r\n- builds warning free with swift 5 (strict concurrency) / swift 6","shortMessageHtmlLink":"refactor llm model load code to build inside the actor (#108)"}},{"before":"e0a87e6d5a7dbe2636307622c873b861dcc7c002","after":"0f273bd67d69613fae761a88523994ec3ce897b5","ref":"refs/heads/kvcache","pushedAt":"2024-08-28T15:24:24.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"add kvcache, async eval, etc for #93\n\n- sampling code compiled\n- KVCache\n- async_eval\n- NaiveStreamingDetokenizer\n- use mlx-swift 16.0.1","shortMessageHtmlLink":"add kvcache, async eval, etc for #93"}},{"before":"0be52d2ebcf5573fdd2d8fe21614130db5c053a9","after":"b381a2dfd9e489f6bcef467286802a2018794d10","ref":"refs/heads/main","pushedAt":"2024-08-28T06:20:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"Add Phi 3.5 mini and SuScaledRotaryEmbedding (#107)","shortMessageHtmlLink":"Add Phi 3.5 mini and SuScaledRotaryEmbedding (#107)"}},{"before":"7cd3f7d2065dedb6b4c54d6d28cb67d22f6797b0","after":"e0a87e6d5a7dbe2636307622c873b861dcc7c002","ref":"refs/heads/kvcache","pushedAt":"2024-08-27T23:24:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"KVCache -> protocol\nupdate models to use new mask generator\nfix sync on stream","shortMessageHtmlLink":"KVCache -> protocol"}},{"before":"b744e976618f2f1ddfee73f5396e5a67dbcc4f27","after":"0be52d2ebcf5573fdd2d8fe21614130db5c053a9","ref":"refs/heads/main","pushedAt":"2024-08-27T21:17:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"Fix MNIST predictions (#110)\n\n* train model property, and remove local variable\r\n\r\n* remove outdated comment","shortMessageHtmlLink":"Fix MNIST predictions (#110)"}},{"before":"974ecdba855478e37a3e06e4110a106b8564f7df","after":"7cd3f7d2065dedb6b4c54d6d28cb67d22f6797b0","ref":"refs/heads/kvcache","pushedAt":"2024-08-27T21:12:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"resolve remaining performance issue -- performance matches python","shortMessageHtmlLink":"resolve remaining performance issue -- performance matches python"}},{"before":null,"after":"974ecdba855478e37a3e06e4110a106b8564f7df","ref":"refs/heads/kvcache","pushedAt":"2024-08-23T23:09:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"davidkoski","name":"David Koski","path":"/davidkoski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/46639364?s=80&v=4"},"commit":{"message":"add kvcache, async eval, etc for #93\n\n- sampling code compiled\n- KVCache\n- async_eval\n- NaiveStreamingDetokenizer","shortMessageHtmlLink":"add kvcache, async eval, etc for #93"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMlQxNTozNzoyNS4wMDAwMDBazwAAAAS0keoM","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMlQxNTozNzoyNS4wMDAwMDBazwAAAAS0keoM","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yM1QyMzowOTo1NS4wMDAwMDBazwAAAASiyahT"}},"title":"Activity ยท ml-explore/mlx-swift-examples"}