Skip to content

The difference between your work "Repository-Level Code Completion" and the traditional "Function-Level Code Completion/Generation" #10

@jenderkieee888

Description

@jenderkieee888

After reviewing your source code, I noticed that when you generate your prompt using the script “make_prompt.py,” you only include the function name, the preceding context (located within the same file as the function to be completed), and the following context (also within the same file). However, I see that you’ve already gathered additional information such as the dependencies (“intra_class”, “intra_file”, and “cross_file”) in a separate “data.jsonl” file. My question is: Why don’t you include this dependency information in the prompt to give the LLM hints about which external elements might be needed to complete the code? Even if you prefer not to directly provide the LLM with the “ground truth” dependencies, you could implement a retrieval module to bring in relevant information from other parts of the project.
From what I can tell, your approach focuses primarily on local context (within the same file) without considering dependencies across the repository. This makes it seem like there isn’t a significant difference between your so-called “Repository-Level Code Completion” and the more traditional “Function-Level Code Completion/Generation.” I would appreciate it if you could clarify this distinction. Thanks in advance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions