Iteration 1: Ask any question about a repo
Problem
Users are often confronted with source code that they are not familiar. They do have questions like Where in this repository is the ruby class that checks if an MR requires Codeowner approval?
, Which frontend framework is used in this project if any?
, Our customers report that the rendering of syntax highlighting is slow. What could I do about it?
.
Proposal for the first simple iteration
- Make it possible that users can ask a question about
gitlab-org/gitlab
project via the chat. - Use Google AI for the implementation
- Only make this available to members of the project and only on projects that are ultimate projects.
Potential approach
- Create embeddings for one project,
- e.g.
gitlab-org/gitlab
or something smaller if this is too expensive/time-consuming - Note, choosing
gitlab-org/gitlab
over any other repo has the huge advantage that we have tons of users in the company that can tell us if the answers that the AI gives are right or wrong.
- e.g.
- When on any of the repository pages of a repo that has been prepared with embeddings allow users to open the GitLab AI chat and ask a question about the repo.
- See the epic for very helpful links for implementing this: &10405. Take special not of:
- https://twitter.com/marktenenholtz/status/1651568107192983553?t=t4Qj9D4b-Xvj4_5prlixNw&s=03, then it is relatively straight forward
- Also check out educational slide and video about embeddings in gitlab-org/modelops/team-tasks#19 (closed)
- If you want to consider an even fancier approach than embeddings, you may consider Glean: https://glean.software/docs/introduction/ / https://www.youtube.com/watch?v=-qSil-CsRYA. But I suspect that might be more difficult.
- Note, the problem is technically very similar to the problem solved by the Ask GitLab Chat about documentation. Please, try to re-use as much as you can. A good contact on the team that created this is @changzhengliu.
Edited by Pedro Moreira da Silva