Code Intelligence: ML-Powered Developer Tools
Made with Kubeflow
One of the promises of machine learning is to automate mundane tasks and augment our capabilities, making us all more productive. However, one domain that doesn’t get much attention that is ripe for more automation is the domain of software development itself. This repository contains projects that are live machine learning-powered devloper tools, usually in the form of GitHub apps, plugins or APIs.
We build these tools with the help of Kubeflow, in order to dog-food tools that Kubeflow developers themselves will benefit from, but also to surface real-world examples of end-to-end machine learning applications built with Kubeflow.
Issue-Embeddings: A REST-API that returns 2400 dimensional embedding given an issue title and body. This can be used for several downstream applications such as (1) label prediction, (2) duplicate detection (3) reviewer recommendation, etc. You can also retrieve the embeddings for all issues in a repo in bulk at once.
Label-Microservice: A stand-alone service that receives as input an issue url: _example:
github.com/kubeflow/<repo>/issues/<issue_num>_and returns repo-specific label predictions. This leverages transfer learning via the Issue-Embeddings API. The goal of this project is to prototype this functionality by redirecting a subset of traffic from Issue-Label-Bot (starting with just Kubeflow/Kubeflow) for testing.
Issue-Triage: Tools that assist with triaging issues for Kubeflow, as discussed in #280. This does not use any machine learning as of yet, but is something that is currently under research. The rule-based approach is currently deployed in this Action
We are in the process of organizing all Python code under the directory
- Subdirectories of
py/should be top level packages
- Modules should be imported using absolute imports always