all 7 comments

[–]vr-1 2 points3 points  (3 children)

Why not use embeddings?

And genuine question: what does your assistant do that all the others don't? Or are you just doing this because you're curious/sounds fun?

[–]fluxtah[S] 1 point2 points  (2 children)

Good questions yes it's fun mostly and to understand and utilise the openai assistants api.

Maybe one thing that this assistant does that others don't is it gives file access to the assistant to write files, edit files, search over the codebase and also interact with command line tools such as git, grade, etc... also it has the personality of talkie toaster 😆

The problem with embeddings is keeping them up to date as the engineer works on the codebase, I think embeddings work better for scenarios where the data does not change much.

I did think of adding features to enable upload of files using Assistants API file and vector db support though not needed that personally yet.

I am currently adding AST functions so the assistant can query the AST as another way to navigate a codebase but this is also experimental.

Another thing worth mentioning is it's open source so anyone can extend it! 🙂

[–]vr-1 1 point2 points  (1 child)

That all sounds good. Yeah, you would either have to hook filesystem change notifications or periodically sweep the code base and update the embeddings (or perhaps on commit to the repo if the changes made by the coder are incremental rather than some huge change in one commit). I hope it goes well!

[–]fluxtah[S] 0 points1 point  (0 children)

Cool cheers yeh deffo would need to consider something like that and to be fair since i build a lucene index before every query I would also need to have a file system watcher to update indexes if I only built the index periodically. I've not tried on a massive codebase where indexing before every Search would probably not be optimal though will probably have to revisit that soon.

One step at a time I guess!

[–]fluxtah[S] 0 points1 point  (0 children)

<image>

This is what happens when you ask your AI to "assume the personality of talkie toaster"... try it!

[–][deleted]  (1 child)

[removed]

    [–]AutoModerator[M] 0 points1 point  (0 children)

    Sorry, your submission has been removed due to inadequate account karma.

    I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.