FY25-Q2 AI Verify Hackathon - Pitches
This issue will represent a collection of pitches that everyone is suggesting to work on during the Hackathon week
This year we will have a theme of AI, utilizing the recent access to GCP Vertex given to engineers.
If you would like help learning how to experiment with AI, we have a GitLab Youtube playlist called "Easy AI Experimentation" and an AI Experimentation GitLab Repository that may help you getting started.
💡
Wanting to pitch an idea? - What is the problem to solve and why it's important
❓ - What expertise/skillset is needed (e.g. As specific as
1 UX, 1 BE, 1 FE
or as general asanyone who wants to reorganize our docs in this area!
)💻 🎨 🗞 - Effort expected (or how you intend to timebox the effort to 1 week)
⏲
Upon completion of the hackathon, link to the artifact(s) to showcase your work (ideally a recorded demo would be great so that we can share them asynchronously!)
**Problem to Solve**
There's a number of CI templates that have gone untested, and we end up fixing them ad-hoc as users request it.
I'd like to collaborate with a few other interested individuals to:
1. Validate that they still run on a test project
2. Create an MR to fix the ones that do not work (e.g. pointing to an out of date image)
**Why this is important?**
We want to drive adoption of CI, much of which starts with a new user trying out a template.
This can become cumbersome for each of our users to stumble upon errors, then have to create a bug
only when they get a failed pipeline.
**Requested expertise**
Anyone who enjoys debugging and fixing broken builds built from syntax in our CI templates! :)
**Effort expected**
Likely 2-3 days of dedicated effort, depending on the number of individual interested in joining this effort
**Artifacts to be produced**
Record a short walkthrough of the changes made, with links to MRs.
Sign-up
Similar to last time, we have added (and will continue to add) the pitched ideas to a spreadsheet for easier reference and voting (during the week of 2024-06-10).
Previous FY23/FY24 Hackathon Pitches
Looking for inspiration?
🎉 Working with AI at GitLab
Welcome to the Hackathon week! This year's theme is AI, and we're excited to see what innovative solutions and features you will develop using AI. Here’s a guide to help you get started with AI development at GitLab.
🚀 Getting Started
🔑 Access and Setup
-
Google Cloud Vertex Access:
- Follow the GitLab AI features documentation to get access to Google Cloud Vertex.
- Enable the necessary APIs and set up authentication.
-
AI Gateway Configuration:
- Set
gitlab_ai_gateway.enabled
totrue
in your GDK configuration. - Add
ANTHROPIC_API_KEY
andAIGW_VERTEX_SEARCH__PROJECT
environment variables to yourenv.runit
file. - Run
gdk update
and start the AI Gateway withgdk start gitlab-ai-gateway
.
- Set
-
Verify Setup:
- Check the AI Gateway service status using
gdk tail gitlab-ai-gateway
. - Confirm the setup by visiting the GitLab AI Gateway API documentation page.
- Check the AI Gateway service status using
🛠 ️ Development Workflow
-
AI Gateway API:
- Ensure your requests are formatted correctly and use the appropriate endpoints.
-
GraphQL Integration:
- Use GraphQL for interacting with AI features. Execute
aiAction
mutation and verify responses using theaiMessages
query.
- Use GraphQL for interacting with AI features. Execute
-
Embedding Setup:
- Set up embeddings locally by enabling
ai_gateway_docs_search
and running the appropriate Rake tasks.
- Set up embeddings locally by enabling
💡 Developing AI Features
Example AI Feature: Code Suggestions
-
Registering a New Method:
- Add your new AI feature method in
Llm::ExecuteMethodService
.
- Add your new AI feature method in
-
Creating a Service:
- Create a new service in the
ee/app/services/llm/
directory, inheriting fromBaseService
.
- Create a new service in the
-
Authorization:
- Implement necessary authorization checks using policies. Ensure feature flags and licensing checks are in place.
-
API Implementation:
- Define API endpoints specific to your AI feature. Use the AI Gateway to proxy requests to the appropriate AI provider.
-
Testing and Verification:
- Test your feature using the Rails console and verify responses. Use RSpec for automated testing.
📚 Tools and Resources
- GitLab YouTube Playlist - Easy AI Experimentation: Tutorials and guides to help you get started with AI experimentation.
- AI Experimentation GitLab Repository: Resources and examples for AI development.
- Drop into
g_ai_framework
with questions for the team! - Don't have a
ANTHROPIC_API_KEY
? Reach out to@oregand
! - Hitting local development issues or got questions? Reach out to any of us via slack or in DMs: https://handbook.gitlab.com/handbook/engineering/development/data-science/ai-powered/ai-framework/#-team-members
- https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/gitlab_ai_gateway.md?ref_type=heads
- https://docs.gitlab.com/ee/development/ai_features/index.html
- https://docs.gitlab.com/ee/architecture/blueprints/ai_gateway/index.html