Says who? I've been in the industry for nearly 25 years and have heard auto complete throughout but not once have I heard fill in the middle.
Stop taking these blogs as oracle's of truth, they are not. These AI articles are full of this nonsense, to the point where it would appear to me many responses might just be Nvidia bots or whatever.
FIM is a term of art in LLM research for a style of tokens used to implement code completion. In particular, it refers to training an LLM with the extra non-printing tokens:
<|fim_prefix|>
<|fim_middle|>
<|fim_suffix|>
You would then take code like this:
func add(a, b int) int {
return <cursor>
}
and convert it to:
<|fim_prefix|>func add(a, b int) int {
return<|fim_suffix|>
}<|fim_middle|>
and have the LLM predict the next token.
It is, in effect, an encoding scheme for getting the prefix and suffix into the LLM context while positioning the next token to be where the cursor is.
It’s just a term that signals “completion in between” rather than “after”. Regular code completion usually doesn’t take the following blocks into account mostly because these are grammatically vague due to an ongoing edit.
Your comments may be sympathised to, but why on earth are they addressed to the root commenter. They simply shared their findings about an acronym.
Because they mentioned it, why on earth would you think that is not a valid response in a thread that mentions it, from my observation that's pretty much how forum like threads work.
More pressingly why do you think you should police it?
Autocomplete is the feature, fill in the middle is one approach to implementing it. There are other ways to providing it (which were used in earlier versions of Copilot) and FIM can be used for tasks other than code completion.
Stop taking these blogs as oracle's of truth, they are not. These AI articles are full of this nonsense, to the point where it would appear to me many responses might just be Nvidia bots or whatever.