Une approche pour détecter des référentiels Python sémantiquement similaires à l'aide de modèles de langue pré-formés.
Ce référentiel contient les cahiers et scripts réalisés pour notre approche pour détecter des référentiels Python sémantiquement similaires à l'aide de modèles de langage pré-formés.
Actuellement, notre modèle le plus performant est UNIXCODER affiné sur la tâche de recherche de code avec AdvTest DataSet. Pour les évaluations de différents modèles de langage sur la comparaison de similitudes de référentiel, veuillez vous référer à ce cahier Jupyter: Notebooks / biencoder / embeddings_evaluation.ipynb
Plus de détails sur les implémentations et les applications de notre approche peuvent être trouvés dans le dossier Scripts.
Reposnipy est un moteur de recherche neuronal pour découvrir des référentiels Python similaires sur GitHub, alimenté par Reposim . N'hésitez pas à essayer!
RepoSim
├── LICENSE
├── README.md
├── data
│ ├── df2txt.py # Convert PoolC dataset for clone detection fine-tuning script
│ ├── repo_topic.json # Topic-Repos mapping
│ └── repo_topic.py # Script to select repos from topics
├── notebooks
│ ├── BiEncoder
│ │ ├── Embeddings_evaluation.ipynb # Evaluations for comparing different language models
│ │ ├── RepoSim.ipynb # Our approach's implementation
│ │ └── UnixCoder_C4_Evaluation.ipynb
│ └── CrossEncoder
│ ├── Clone_Detection_C4_Evaluation.ipynb
│ ├── HungarianAlgorithm.ipynb # Cross-encoder approaches for repo similarity comparison
│ └── keonalgorithms-TheAlgorithmsPython.csv # Evaluation results by ungarianAlgorithm.ipynb
└── scripts
├── LICENSE
├── PlayGround.ipynb # For experimenting with repo embeddings
├── README.md
├── pipeline.py # Our approach's implementation as a HuggingFace pipeline
├── repo_sim.py
└── requirements.txt Distribué sous la licence du MIT. Voir LICENSE pour plus d'informations.