-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PR?] Fill in the middle completer #113
Comments
Hi @NightMachinery |
I have signed the copyright papers for emacs before; are these the same? I'll use this function for a while to see how robust it is. Its implementation is very hacky currently, and the heuristics used look somewhat model-dependent. |
Yes. It means you don't need to do it second time.
we can improve it during code review. And it will be model dependent, because different models handle FIM differently, has different tags etc. |
The current implementation is a hack that uses normal LLMs tuned for chat. If the model supported FIM, the implementation would become a lot simpler. I am not aware of any FIM API though. (Surely there must be some open models, but is there anything competent?) |
See codeqwen, deepseek coder (not latest one) and Starcoder 2 7b (in 15b fim is broken). |
Is there any cloud API for these models? (e.g., on OpenRouter or OpenAI) I think the |
I don't think llm should do something to add fim support, it's about right prompt format. |
I have written a usable fill-in-the-middle function. The code is available here (look for
night/ellama-code-fill-in-the-middle
), and I can clean it up further for inclusion inellama
, if there's interest. Or someone else can do that.Here are some demos with
llama3-70b-8192
:ellama_fill_middle_v2.mp4
ellama_fill_middle.mp4
The highlights will be cleared the next time you press
C-g
, though this depends on Doom'sdoom-escape-hook
; I couldn't find a built-in hook forkeyboard-quit
.The text was updated successfully, but these errors were encountered: