Enable Self-Hosted Customers to Use GL AI Vendor Core for Just Unseated Users
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
This issue is to enable Gitlab Duo Self-Hosted customers with online Enterprise licenses to use self-hosted models for Enterprise-seated users while simultaneously allowing unseated users to access Core functionality via GitLab AI Vendor models.
Background
Currently, Self-Hosted customers must choose a single model configuration for all users. This creates a limitation where customers cannot simultaneously:
- Use their self-hosted models for Enterprise seated users (their primary use case)
- Enable Core functionality for unseated users (which requires GL AI Vendor models)
This forces customers to choose between:
- Using self-hosted models for Enterprise users but denying Core access to unseated users
- Using GL AI Vendor models for everyone to enable Core, losing the benefit of self-hosted infrastructure for Enterprise users
Proposed Solution
Implement intelligent request routing based on user seat status:
For Enterprise Seated Users:
- Route requests to configured self-hosted models
- Maintain data sovereignty and control
- Use existing Self-Hosted AI Gateway configuration
For Unseated Users (Core):
- Route requests to GitLab AI Vendor models via GitLab.com AIG
- Clearly communicate data routing implications
Definition of Done
- GitLab instance admins can enable Core for unseated users, using the GL AI Vendor models
- GitLab instance admins can configure self-hosted models for Duo Chat and Code Suggestions, for use by Enterprise-seated users
- System correctly routes based on user seat status without manual intervention
- When Core toggle in enabled on Enterprise Self-Managed instances, admins should be notified that unseated user data will be sent to GitLab.com AIG
- Clear UI indication of data routing behavior for different user types (ie show pinned model)
- Documentation updated to explain the dual routing for Code Suggestions and Chat, based on seat assignment
Edited by 🤖 GitLab Bot 🤖