I’m adding logic to exclude images now (I’ll add sound & video extensions.) I’m actually trying to get Codepilot to write the code. It wrote it but it’s a bit heavy handed so working with it to get it to do it more in the style that I used.
UPDATE:
I just published version 0.3.0 which adds logic to ignore indexing a wide range of binary files (let me know if an extension is missing) and it also adds the ability to create files.
There’s definitely an art to getting Codepilot to generate useful code (I see lots of areas where I can improve things) but once you land on the code you want you can simply ask it to “write that to a file” and it will add a new file to your project. You then need to run codepilot rebuild
to add it to the index but I’ll fix that in the next version.
Modifying files is super tricky because the entire file may not fit into the the models context window and I don’t want to add any feature that does more harm then good. I already had to add logic to the createFile()
function to ensure that the model is only using it to create files that doesn’t exist yet.
UPDATE:
Version 0.4.0 is published. File creation now adds any missing folders and adds the new file to the code index.
One area that needs further improvement is the logic to select the source code I show the model. You can ask Codepilot show me the code for the createFile function
and while the answer looks convincing it’s not the correct code. The issue is that my Document Sections algorithm will sometimes render gaps in its output and I’m not always showing the model whole methods/functions. This is where Vectra would really benefit from a secondary TF/IDF re-ranking pass but I feel like I probably just need to update my Document Sections algorithm to favor more contiguous text spans over sparse text spans. As I said, lots of room for improvement.