Skip to content

Unit primitive for issue embeddings

What does this merge request do and why?

Adds a new unit primitive for generating issue embeddings to be used for semantic issue search.

The unit primitive name is semantic_search_issue based on the naming convention:

The recommended naming convention for the new unit_primitive should be VERB_NOUN. Example: explain_vulnerability

Semantic search (gitlab-org&11747 - closed)

How to set up and validate locally

  1. Run the AI Gateway locally on this branch
  2. In the gitlab rails project, run ::Gitlab::Llm::VertexAi::Client.new(User.first, unit_primitive: 'semantic_search_issue', tracking_context: {}).text_embeddings(content: 'text') to test that the request succeeds with the new primitive.

Merge request checklist

  • Tests added for new functionality. If not, please raise an issue to follow up.
    • N/A
  • Documentation added/updated, if needed.
    • As far as I can see, we don't have a list of unit primitives in docs.
Edited by Madelein van Niekerk

Merge request reports