論文の概要: Raiders of the Lost Dependency: Fixing Dependency Conflicts in Python using LLMs
- arxiv url: http://arxiv.org/abs/2501.16191v1
- Date: Mon, 27 Jan 2025 16:45:34 GMT
- ステータス: 翻訳完了
- システム内更新日: 2025-01-28 13:59:59.077119
- Title: Raiders of the Lost Dependency: Fixing Dependency Conflicts in Python using LLMs
- Title(参考訳): LLMを使用したPythonにおける依存性競合の修正
- Authors: Antony Bartlett, Cynthia Liem, Annibale Panichella,
- Abstract要約: Python開発者は、サードパーティモジュールとPythonインタプリタの環境依存性とバージョン制約を手動で識別し、解決する必要がある。
従来のアプローチでは、さまざまな依存性エラータイプ、可能なモジュールバージョンの大規模なセット、コンフリクトによる制限に直面していました。
本研究では,Pythonプログラムの依存性問題を自動的に修正するために,大規模言語モデル(LLM)を使用する可能性について検討する。
- 参考スコア(独自算出の注目度): 10.559292676550319
- License:
- Abstract: Fixing Python dependency issues is a tedious and error-prone task for developers, who must manually identify and resolve environment dependencies and version constraints of third-party modules and Python interpreters. Researchers have attempted to automate this process by relying on large knowledge graphs and database lookup tables. However, these traditional approaches face limitations due to the variety of dependency error types, large sets of possible module versions, and conflicts among transitive dependencies. This study explores the potential of using large language models (LLMs) to automatically fix dependency issues in Python programs. We introduce PLLM (pronounced "plum"), a novel technique that employs retrieval-augmented generation (RAG) to help an LLM infer Python versions and required modules for a given Python file. PLLM builds a testing environment that iteratively (1) prompts the LLM for module combinations, (2) tests the suggested changes, and (3) provides feedback (error messages) to the LLM to refine the fix. This feedback cycle leverages natural language processing (NLP) to intelligently parse and interpret build error messages. We benchmark PLLM on the Gistable HG2.9K dataset, a collection of challenging single-file Python gists. We compare PLLM against two state-of-the-art automatic dependency inference approaches, namely PyEGo and ReadPyE, w.r.t. the ability to resolve dependency issues. Our results indicate that PLLM can fix more dependency issues than the two baselines, with +218 (+15.97%) more fixes over ReadPyE and +281 (+21.58%) over PyEGo. Our deeper analyses suggest that PLLM is particularly beneficial for projects with many dependencies and for specific third-party numerical and machine-learning modules. Our findings demonstrate the potential of LLM-based approaches to iteratively resolve Python dependency issues.
- Abstract(参考訳): Pythonの依存関係の修正は、環境依存関係とサードパーティモジュールとPythonインタプリタのバージョン制約を手作業で識別し、解決しなければならない開発者にとって、面倒でエラーを起こしやすい作業である。
研究者は、大きな知識グラフとデータベースのルックアップテーブルを頼りにすることで、このプロセスを自動化しようとしている。
しかしながら、これらの従来のアプローチは、さまざまな依存性エラータイプ、可能なモジュールバージョンの大規模なセット、過渡的依存関係間の競合による制限に直面しています。
本研究では,Pythonプログラムの依存性問題を自動的に修正するために,大規模言語モデル(LLM)を使用する可能性について検討する。
PLLM("plum"と発音する)は,検索拡張生成(RAG)を利用して,LLMがPythonのバージョンを推論し,所定のPythonファイルに必要なモジュールを生成する手法である。
PLLMは、(1)モジュールの組み合わせに対してLLMを反復的に促すテスト環境を構築し、(2)提案された変更をテストし、(3)修正を洗練させるためにLLMにフィードバック(エラーメッセージ)を提供する。
このフィードバックサイクルは自然言語処理(NLP)を利用して、ビルドエラーメッセージをインテリジェントに解析し解釈する。
Gistable HG2.9Kデータセット上でPLLMをベンチマークする。
PLLM と PyEGo と ReadPyE の2つの依存性推論手法を比較した。
我々の結果はPLLMが2つのベースラインよりも多くの依存性を修正可能であることを示しており、+218 (+15.97%) は ReadPyE に対して +281 (+21.58%) は PyEGo に対して +281 (+21.58%) の修正を施している。
PLLMは多くの依存関係を持つプロジェクトや、特定のサードパーティの数値および機械学習モジュールに対して特に有益であることを示す。
LLMベースのアプローチがPython依存問題を反復的に解決する可能性を示す。
関連論文リスト
- SWE-Fixer: Training Open-Source LLMs for Effective and Efficient GitHub Issue Resolution [56.9361004704428]
大規模言語モデル(LLM)は、様々な複雑なタスクにまたがる顕著な習熟度を示している。
SWE-Fixerは、GitHubの問題を効果的かつ効率的に解決するために設計された、新しいオープンソースフレームワークである。
我々は,SWE-Bench LiteとVerifiedベンチマークに対するアプローチを評価し,オープンソースモデル間の最先端性能を実現する。
論文 参考訳(メタデータ) (2025-01-09T07:54:24Z) - Molly: Making Large Language Model Agents Solve Python Problem More Logically [11.317420065020173]
モリーエージェントは、シナリオベースのインタラクションを通じて学習者の質問意図を解析する。
生成段階では、エージェントは生成されたレスポンスを反映して、実際のコンテンツと整合するだけでなく、ユーザのクエリに効果的に答えるようにします。
論文 参考訳(メタデータ) (2024-12-24T02:08:38Z) - Relational Database Augmented Large Language Model [59.38841050766026]
大規模言語モデル(LLM)は多くの自然言語処理(NLP)タスクに優れる。
彼らは、トレーニングや教師付き微調整プロセスを通じてのみ、新しい知識を取り入れることができる。
この正確で最新のプライベート情報は、通常リレーショナルデータベースに格納される。
論文 参考訳(メタデータ) (2024-07-21T06:19:10Z) - Refactoring to Pythonic Idioms: A Hybrid Knowledge-Driven Approach Leveraging Large Language Models [23.181371435793494]
多くのPythonユーザは、Pythonのイディオムを使うのが難しいと感じている。
規則の決定とLLMの適応性に動機付けられ,我々はハイブリッドアプローチを提案する。
論文 参考訳(メタデータ) (2024-06-06T00:22:46Z) - pyvene: A Library for Understanding and Improving PyTorch Models via
Interventions [79.72930339711478]
$textbfpyvene$は、さまざまなPyTorchモジュールに対するカスタマイズ可能な介入をサポートするオープンソースライブラリである。
私たちは、$textbfpyvene$が、ニューラルモデルへの介入を実行し、他のモデルとインターバルされたモデルを共有するための統一されたフレームワークを提供する方法を示します。
論文 参考訳(メタデータ) (2024-03-12T16:46:54Z) - ModuleGuard:Understanding and Detecting Module Conflicts in Python
Ecosystem [13.242135844684505]
本稿では,モジュール競合問題とそのPythonエコシステムへの影響を系統的に検討する。
InstSimulatorと呼ばれる新しい手法を提案する。これは,セマンティクスとインストールシミュレーションを利用して,高精度かつ効率的なモジュール抽出を実現する。
これに基づいて、Pythonエコシステムのモジュール競合を検出するModuleGuardというツールを実装しました。
論文 参考訳(メタデータ) (2024-01-04T06:26:07Z) - Turbulence: Systematically and Automatically Testing Instruction-Tuned Large Language Models for Code [11.194047962236793]
本稿では,新しいベンチマークである乱流を用いて,命令調整型大規模言語モデル(LLM)のコード生成における正確性と堅牢性を評価する手法を提案する。
乱流は、多数の自然言語の$textitquestion templates$から成り、それぞれがプログラミングの問題であり、様々な形式で問うことができるようにパラメータ化されている。
単一の質問テンプレートから、LLM に $textitneighbourhood$ と非常によく似たプログラミング質問を問うことができ、各質問に対して返された結果の正しさを評価することができる。
論文 参考訳(メタデータ) (2023-12-22T17:29:08Z) - Less is More? An Empirical Study on Configuration Issues in Python PyPI
Ecosystem [38.44692482370243]
Pythonはオープンソースコミュニティで広く使われている。
サードパーティのライブラリは依存関係の衝突を引き起こす可能性があるため、研究者は依存関係の衝突検知器を開発する必要がある。
依存関係を自動的に推論する試みが実施された。
論文 参考訳(メタデータ) (2023-10-19T09:07:51Z) - LLM-Pruner: On the Structural Pruning of Large Language Models [65.02607075556742]
大規模言語モデル(LLM)は、言語理解と生成において顕著な能力を示している。
タスク非依存であり、元のトレーニングデータセットへの依存を最小限に抑えるという2つの制約の範囲内でLLMの圧縮に取り組む。
LLM-Prunerという名前のこの手法は、非臨界結合構造を選択的に除去する構造プルーニングを採用する。
論文 参考訳(メタデータ) (2023-05-19T12:10:53Z) - Check Your Facts and Try Again: Improving Large Language Models with
External Knowledge and Automated Feedback [127.75419038610455]
大規模言語モデル(LLM)は、ダウンストリームタスクの多くに対して、人間のような、流動的な応答を生成することができる。
本稿では,プラグ・アンド・プレイモジュールのセットでブラックボックスのLSMを増強するLSM-Augmenterシステムを提案する。
論文 参考訳(メタデータ) (2023-02-24T18:48:43Z) - pyBART: Evidence-based Syntactic Transformations for IE [52.93947844555369]
pyBARTは、英語のUD木を拡張UDグラフに変換するためのオープンソースのPythonライブラリである。
パターンに基づく関係抽出のシナリオで評価すると、より少ないパターンを必要としながら、より高精細なUDよりも高い抽出スコアが得られる。
論文 参考訳(メタデータ) (2020-05-04T07:38:34Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。