To See is Not to Master: Teaching LLMs to Use Private Libraries for Code Generation

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Zhang, Yitong, Li, Chengze, Chen, Ruize, Yang, Guowei, Jia, Xiaoran, Ren, Yijie, Li, Jia
Format: Preprint
Published: 2026
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866908916699365376
author Zhang, Yitong
Li, Chengze
Chen, Ruize
Yang, Guowei
Jia, Xiaoran
Ren, Yijie
Li, Jia
author_facet Zhang, Yitong
Li, Chengze
Chen, Ruize
Yang, Guowei
Jia, Xiaoran
Ren, Yijie
Li, Jia
contents Large Language Models (LLMs) have shown strong potential for code generation, yet they remain limited in private-library-oriented code generation, where the goal is to generate code using APIs from private libraries. Existing approaches mainly rely on retrieving private-library API documentation and injecting relevant knowledge into the context at inference time. However, our study shows that this is insufficient: even given accurate required knowledge, LLMs still struggle to invoke private-library APIs effectively. To address this limitation, we propose PriCoder, an approach that teaches LLMs to invoke private-library APIs through automatically synthesized data. Specifically, PriCoder models private-library data synthesis as the construction of a graph, and alternates between two graph operators: (1) Progressive Graph Evolution, which improves data diversity by progressively synthesizing more diverse training samples from basic ones, and (2) Multidimensional Graph Pruning, which improves data quality through a rigorous filtering pipeline. To support rigorous evaluation, we construct two new benchmarks based on recently released libraries that are unfamiliar to the tested models. Experiments on three mainstream LLMs show that PriCoder substantially improves private-library-oriented code generation, yielding gains of over 20% in pass@1 in many settings, while causing negligible impact on general code generation capability. Our code and benchmarks are publicly available at https://github.com/eniacode/PriCoder.
format Preprint
id arxiv_https___arxiv_org_abs_2603_15159
institution arXiv
publishDate 2026
record_format arxiv
spellingShingle To See is Not to Master: Teaching LLMs to Use Private Libraries for Code Generation
Zhang, Yitong
Li, Chengze
Chen, Ruize
Yang, Guowei
Jia, Xiaoran
Ren, Yijie
Li, Jia
Software Engineering
Artificial Intelligence
Computation and Language
Large Language Models (LLMs) have shown strong potential for code generation, yet they remain limited in private-library-oriented code generation, where the goal is to generate code using APIs from private libraries. Existing approaches mainly rely on retrieving private-library API documentation and injecting relevant knowledge into the context at inference time. However, our study shows that this is insufficient: even given accurate required knowledge, LLMs still struggle to invoke private-library APIs effectively. To address this limitation, we propose PriCoder, an approach that teaches LLMs to invoke private-library APIs through automatically synthesized data. Specifically, PriCoder models private-library data synthesis as the construction of a graph, and alternates between two graph operators: (1) Progressive Graph Evolution, which improves data diversity by progressively synthesizing more diverse training samples from basic ones, and (2) Multidimensional Graph Pruning, which improves data quality through a rigorous filtering pipeline. To support rigorous evaluation, we construct two new benchmarks based on recently released libraries that are unfamiliar to the tested models. Experiments on three mainstream LLMs show that PriCoder substantially improves private-library-oriented code generation, yielding gains of over 20% in pass@1 in many settings, while causing negligible impact on general code generation capability. Our code and benchmarks are publicly available at https://github.com/eniacode/PriCoder.
title To See is Not to Master: Teaching LLMs to Use Private Libraries for Code Generation
topic Software Engineering
Artificial Intelligence
Computation and Language
url https://arxiv.org/abs/2603.15159