C-Loftus / talon-ai-tools

Query LLMs and AI tools with voice commands
http://colton.place/talon-ai-tools/
MIT License
51 stars 20 forks source link

Adds a snippet insertion destination #84

Closed jaresty closed 2 months ago

jaresty commented 3 months ago
pokey commented 3 months ago

Very cool idea. How well does it work in practice?

I'm not sure the fact of it being a snippet is a destination; seems somewhat orthogonal but I'm not sure I have a much better idea and this stuff is still all quite experimental so probably ok

jaresty commented 3 months ago

It seemed to work pretty well when I was testing last night. I'm going to keep trying it out and see how it goes. I'm excited at the possibility it provides for the LLM to clearly point out the parts of the response that should be adjusted, which is a pretty useful way to communicate.

jaresty commented 3 months ago

I agree about it being somewhat orthogonal to insertion method-it's more of an adverb that could be applied to above/below/replace. We don't have that in the grammar yet though.

C-Loftus commented 3 months ago

Interesting idea. I feel like this could significantly benefit from multishot prompting. Since I feel like the model could interpret the prompt as it is now in many different ways. But multishot prompting is probably a story for another PR.

If you are finding this to be practical, I think we should create a new talon list called modelInsertionModifier or something similar. We can then also include selected in that list if you want to always paste with text selected. I would prefer to pass in modelInsertionModifier instead of modelDestination just to make it very clear that snippet is not a destination, but a way by which the text is inserted differently.

But I'd experiment with things a bit before making too many changes.

C-Loftus commented 3 months ago

And once again my only hesitancy with this is that is does seem very experimental and I am not really sure if the added complexity to the grammar is worth it. I think most people would want to just say the snippet in community they want. Arbitrary text instructions usually doesn't conform to snippets as well compared to well defined blocks (classes, if statements, specific boilerplate etc) As with everything this does have a use, I suppose we just have to see how useful since I haven't played around with this myself.

jaresty commented 3 months ago

insertionModifier sounds good to me

C-Loftus commented 2 months ago

To make things consistent with the other code in this repo, I made a couple quick edits and opened a new PR #85 , let's discuss further there. I actually think that snip should be a prompt with arbitrary text after it like ask so I made some refactors.

jaresty commented 2 months ago

I made another alternative inspired by #85 : https://github.com/C-Loftus/talon-ai-tools/pull/86

C-Loftus commented 2 months ago

Closing in favor of #89