ruby.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
If you are interested in the Ruby programming language, come join us! Tell us about yourself when signing up. If you just want to join Mastodon, another server will be a better place for you.

Administered by:

Server stats:

1K
active users

#gptel

3 posts3 participants0 posts today
Phil<p><span>Update:<br>- Fixed up a number of functions. Abstracted some, improved descriptions for better comprehension by LLMs.<br>- Tried to disable org-ql caching, but it's tricky so caching is still on.<br>- Fixed up list-buffers and open-file tools (on </span><a href="https://fosstodon.org/@karthink" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@karthink@fosstodon.org</a><span>'s advice)<br>- Disabled a few tools (notably org-ql-select) by default (now you'll have to manually add it to your config), as getting correct query syntax out of an LLM is a losing gamble.<br>- Updated some documentation.<br>- Changed some function names.<br>- Playing around with adding some additional markers for LLMs to use as reference (e.g. to treat pieces of data they get as actually separate.)<br><br>It appears to be working, if not better, then at least more reliably now. Some prompting is necessary to avoid it falling back to bad habits (using "X OR Y" in queries, for instance.<br><br>Note: reasoning/ thinking interferes very badly with calling tools. I'm not sure why that is, but at the moment I recommend against it. <br><br>So far, it works reasonably well for general queries, but I still find that org-ql-select-agenda-rifle (which does what it sounds like) pulls </span><i>way too much</i><span> into context.<br><br>I want to develop a way in which queries can be more precise without going keyword by keyword, but also without letting the LLM screw up the syntax. <br><br></span><a href="https://git.bajsicki.com/phil/gptel-org-tools" rel="nofollow noopener noreferrer" target="_blank">https://git.bajsicki.com/phil/gptel-org-tools</a><span><br><br></span><a href="https://fed.bajsicki.com/tags/emacs" rel="nofollow noopener noreferrer" target="_blank">#emacs</a> <a href="https://fed.bajsicki.com/tags/gptel" rel="nofollow noopener noreferrer" target="_blank">#gptel</a> <a href="https://fed.bajsicki.com/tags/orgmode" rel="nofollow noopener noreferrer" target="_blank">#orgmode</a></p>
Phil<p><span>And just a day later, here's a git repo with more philosophy than good code.<br><br>I think the philosophy part is more important personally, the code we can fix later.<br><br></span><a href="https://git.bajsicki.com/phil/gptel-org-tools" rel="nofollow noopener noreferrer" target="_blank">https://git.bajsicki.com/phil/gptel-org-tools</a><span><br><br>TL;DR: Emacs (and its ecosystem) makes the whole vectorization/ RAG/ training stuff entirely redundant for this application.<br><br>Yes, this code fails still... a bunch, especially given the current lack of guardrails. But the improvement I've seen in the last few days makes me cautiously believe that with enough safeguards and a motivating enough system prompt, an active assistant may be possible.<br><br>Image attached isn't </span><i>nearly</i><span> as good as I've seen, but it's an off-hand example that demonstrates it working. <br><br>The only thing missing for me to be happy with this is one of those organic, grass-fed LLM models whose existence isn't predicated on theft.<br><br></span><a href="https://fed.bajsicki.com/tags/emacs" rel="nofollow noopener noreferrer" target="_blank">#emacs</a> <a href="https://fed.bajsicki.com/tags/orgmode" rel="nofollow noopener noreferrer" target="_blank">#orgmode</a> <a href="https://fed.bajsicki.com/tags/gptel" rel="nofollow noopener noreferrer" target="_blank">#gptel</a> <a href="https://fed.bajsicki.com/tags/orgql" rel="nofollow noopener noreferrer" target="_blank">#orgql</a><span><br><br>RE: </span><a href="https://fed.bajsicki.com/notes/a6jw3n155z" rel="nofollow noopener noreferrer" target="_blank">https://fed.bajsicki.com/notes/a6jw3n155z</a></p>
Phil<p><span>So... I strongly disagree with LLMs (mostly with the marketing and the training data issue), but I found a use-case for myself that they may actually be 'alright' at.<br><br>I organize my life in </span><a href="https://fed.bajsicki.com/tags/Emacs" rel="nofollow noopener noreferrer" target="_blank">#Emacs</a> <a href="https://fed.bajsicki.com/tags/orgmode" rel="nofollow noopener noreferrer" target="_blank">#orgmode</a><span> It's great.<br><br>But over the years, my notes and journals and everything have become so large, that I don't really have a grasp of all the bits and pieces that I have logged.<br><br>So I started using org-ql recently, which works great for a lot of cases, but not all.<br><br>Naturally, I wanted more consolidation between the results, and better filtering, as well as a more general, broad view of the topics I wanted to look up in my notes.<br><br>So I started writing some tooling for </span><a href="https://fed.bajsicki.com/tags/gptel" rel="nofollow noopener noreferrer" target="_blank">#gptel</a><span>, to allow LLMs to call tools within Emacs, and leverage existing packages to do just that. <br><br>It's in its inception, and works only 20-25% of the time (because the LLM needs to write the queries in the first place), but it works reasonably well even with smaller models (Mistral Small 24B seems to do alright with 16k context, using llama.cpp).<br><br>In general:<br>- It kinda works, when it wants to.<br>- The main failure point at the moment is that the LLM isn't able to consistently produce proper syntax for org-ql queries.<br>- The context window sucks, because I have years of journals and some queries unexpectedly explode, leading to the model going stupid.<br><br>So far it's been able to: <br>- retrieve journal entries<br>- summarize them<br>- provide insights on habits (e.g. exercise, sleep quality, eating times)<br>- track specific people across my journal and summarize interactions, sentiment, important events<br><br>It doesn't sound like a lot, but these are things which would take me more time to do in the next year than I already spent on setting this up.<br><br>And I don't need to do anything to my existing notes. It just reads from them as they are, no RAG, no preprocessing, no fuss.<br><br>At the same time, this is only part of my plan. Next:<br><br>1. Add proper org-agenda searches (such that the LLM can access information about tasks done/ planned)<br>2. Add e-mail access (via mu4e, so it can find all my emails from people/ businesses and add them as context to my questions)<br>3. Add org-roam searches (to add more specific context to questions - currently I'm basing this entire project around my journal, which isn't ideal)<br>4. Build tooling for updating information about people in my people.org file (currently I do this manually and while there's a bunch of stuff, I would </span><i>love</i><span> if it was more up to date with my journal, as an additional context resource)<br><br>For now, this is </span><i>neat</i><span>, and I think there's potential in this as a private, self-hosted personal assistant. Not ideal, not smart by any means (god it's really really not smart), but with sufficient guardrails, it can speed some of my daily/ weekly tasks up. Considerably.<br><br>So yeah. I'm </span><i>actually</i><span> pretty happy with this, so far. <br><br>PS. </span><a href="https://fed.bajsicki.com/tags/orgql" rel="nofollow noopener noreferrer" target="_blank">#orgql</a> because org-ql doesn't show as an existing tag.</p>
oatmeal<p><span class="h-card" translate="no"><a href="https://front-end.social/@DodoTheDev" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>DodoTheDev</span></a></span> in respect to mobile, I guess it depends on what you’re doing with the mobile client? Mostly viewing or you need to edit too? </p><p>Syncthing should solve syncing any type of non virtual file, and now has an astounding iOS client. If you write in markdown any client should do on iOS for basic editing, and there are couple of org clients for basic editing or task management (orgro, scratch, plain org, journelly, beorg). I rarely edit on my phone. </p><p>Emacs learning curve can be mitigated by starting with a configuration framework like doom or other. It’s not different than learning any other new software you pick up. Hopefully not being to use Ctl-c Ctl-v in emacs is not a showstopper, though there’s a package for that too… </p><p>The return on the initial investment in learning <a href="https://kolektiva.social/tags/emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>emacs</span></a> is unmeasurable. Just have a look at the expanding ecosystem of <a href="https://kolektiva.social/tags/ai" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ai</span></a> packages to start with… from <a href="https://kolektiva.social/tags/gptel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gptel</span></a> to ollama-buddy etc.</p>
🇺🇦 Myke :emacs: :clojure:<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@karthink" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>karthink</span></a></span> do you think it makes sense to add gptel-add-repo to add entire repo to the context, excluding what's in .gitignore?</p><p><a href="https://fosstodon.org/tags/emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>emacs</span></a> <a href="https://fosstodon.org/tags/gptel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gptel</span></a></p>
George Jones :emacs: :orgmode:<p><span class="h-card" translate="no"><a href="https://fosstodon.org/@dmolina" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>dmolina</span></a></span> <a href="https://fosstodon.org/tags/gptel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gptel</span></a> is going to be a game changer. AI available in every level of every org document I edit .... Thanks.</p>
Nick Anderson<p>New release of gptel yesterday: <a href="https://github.com/karthink/gptel/releases/tag/v0.8.5" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/karthink/gptel/rele</span><span class="invisible">ases/tag/v0.8.5</span></a></p><p><a href="https://fosstodon.org/tags/emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>emacs</span></a> <a href="https://fosstodon.org/tags/orgmode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>orgmode</span></a> <a href="https://fosstodon.org/tags/gptel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gptel</span></a> <a href="https://fosstodon.org/tags/generativeai" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>generativeai</span></a></p>
Nick Anderson<p>Release Version 0.8.0 · karthink/gptel · GitHub</p><p><a href="https://github.com/karthink/gptel/releases/tag/v0.8.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/karthink/gptel/rele</span><span class="invisible">ases/tag/v0.8.0</span></a></p><p><a href="https://fosstodon.org/tags/emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>emacs</span></a> <a href="https://fosstodon.org/tags/gptel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gptel</span></a> <a href="https://fosstodon.org/tags/llm" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>llm</span></a> <a href="https://fosstodon.org/tags/genAI" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>genAI</span></a> <a href="https://fosstodon.org/tags/orgmode" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>orgmode</span></a></p>
Nick Anderson<p><span class="h-card" translate="no"><a href="https://digitalcourage.social/@sentor" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>sentor</span></a></span> <br>Galactic code unfurls,<br>Emacs, your realm in stars,<br>Org-mode whispers, pure art. Love, oh sweet elixir of soul,<br>A symphony within our hearts.<br>In quiet whispers, it unfolds.</p><p>-- dolphin mistral 7b via <a href="https://fosstodon.org/tags/gptel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gptel</span></a></p>
yugaego 🌍<p>I've been occasionally using the gptel <a href="https://fosstodon.org/tags/LLM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>LLM</span></a> client in Emacs for several weeks now. It provides a sufficiently nice interface, and is configurable. It took me a couple of days to get used to it, and I'm looking forward to customizing (personalizing) UX a tiny bit more.</p><p>Earlier, I was testing communication with <a href="https://fosstodon.org/tags/ChatGPT" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ChatGPT</span></a> via macGPT application. IMO, <a href="https://fosstodon.org/tags/gptel" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>gptel</span></a> is a more flexible solution with a convenience of having it all under the hand in <a href="https://fosstodon.org/tags/Emacs" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Emacs</span></a>. </p><p><a href="https://github.com/karthink/gptel" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/karthink/gptel</span><span class="invisible"></span></a></p>