AI Proxy
AI Proxy Self-hosted to rozwiązanie, które umożliwia korzystanie z funkcjonalności AI w WEBCON w oparciu o własną infrastrukturę klienta (on-premise lub prywatna chmura), bez konieczności wykorzystywania infrastruktury WEBCON do przetwarzania zapytań. Komponent działa jako pośrednia warstwa pomiędzy WEBCON a zewnętrznymi dostawcami modeli AI: przyjmuje żądania z WEBCON, egzekwuje zasady bezpieczeństwa i konfiguracji (np. dobór dostawcy/modelu, uwierzytelnianie, obsługa certyfikatów), a następnie przekazuje je do wskazanych usług AI i zwraca odpowiedź do WEBCON. Rozwiązanie powstało z myślą o organizacjach, które potrzebują większej kontroli nad danymi i środowiskiem uruchomieniowym oraz chcą łatwiej spełniać wymagania bezpieczeństwa, polityk prywatności i regulacji branżowych — przy zachowaniu elastyczności w wyborze dostawców i modeli.

Czym jest AI Proxy i AI Proxy Self-hosted
AI Proxy to modularna, natywna chmurowo aplikacja .NET 8, zaprojektowana w celu zapewnienia bezpiecznego, skalowalnego i rozszerzalnego dostępu do funkcjonalności sztucznej inteligencji. Rozwiązanie pełni rolę bramy API (API Gateway), integrując się z wieloma zewnętrznymi usługami AI, w tym:
- Google Gemini - modele Google AI,
- Azure AI Foundry - usługi Azure AI,
- OpenAI - modele językowe GPT.
Architektura
Poniżej znajduje się zestawienie komponentów, z których składa się AI Proxy (na poziomie ogólnym).
Komponenty Centralne
- AI Proxy - główna aplikacja, która udostępnia endpointy, integruje się z zewnętrznymi usługami AI i zarządza żądaniami użytkowników,
- Application Gateway - zapewnia bezpieczny dostęp dla użytkowników, kierując ruch do AI Proxy w środowiskach produkcyjnych,
- Integration VNET - zapewnia bezpieczną komunikację między AI Proxy a zasobami Azure (Azure SQL, Key Vault, Storage Account).
Zasoby Azure
- Azure SQL - przechowuje trwałe dane aplikacji,
- Dedykowany Key Vault - bezpiecznie zarządza sekretami i poświadczeniami,
- Storage Account - obsługuje potrzeby związane z przechowywaniem plików i danych,
- Application Insights - zbiera telemetrię i dane monitorowania do diagnostyki i śledzenia wydajności.
Integracje zewnętrzne
- Usługi AI - integracja z Gemini, OpenAi i innymi dostawcami AI.
Architektura modularna
AI Proxy jest podzielone na moduły, dzięki czemu łatwiej dodawać nowe integracje i utrzymywać kod:
- Moduły AiConnector - warstwa abstrakcji dla dostawców AI (OpenAI, Gemini, Vertex AI),
- Moduły AiTools - procesory Agent/Concierge, narzędzia wyboru modeli, walidatory,
- Infrastruktura - elementy wspólne (uwierzytelnianie, baza danych, Key Vault, logowanie, telemetria).
Wzorce projektowe
W projekcie używane są m.in.:
- Minimal APIs
- Endpoint Filters:
- Factory Pattern - dynamiczny wybór dostawcy/narzędzia,
- Configuration Providers:
aiconfiguration.jsondla modeli AI,appsettings.jsondla infrastruktury.
AI Proxy Self-hosted
AI Proxy Self-hosted to wariant aplikacji, który można uruchomić lokalnie lub w środowisku klienta bez pełnej infrastruktury Azure. Tryb ten sprawdza się szczególnie w:
- środowiskach deweloperskich - lokalne testowanie i rozwój bez kosztów chmury,
- Wdrożeniach on-premise - uruchamianie w infrastrukturze klienta,
- testach i demonstracjach - szybkie prototypowanie bez pełnej konfiguracji Azure.
Różnice w trybie Self-hosted
Konfiguracja:
- ustawienie
AppConfiguration__SelfHosted__Enabled=truew zmiennych środowiskowych, - certyfikaty SSL/TLS zarządzane lokalnie (pliki .pem lub .pfx),
- możliwość pracy bez Azure Key Vault (sekrety w konfiguracji).
Infrastruktura:
- brak wymagań dotyczących Application Gateway,
- uruchamianie w kontenerze Docker.
Przykładowe zastosowanie:
- praca deweloperska lokalnie,
- środowiska testowe,
- Proof-of-Concept dla klientów,
- odizolowane środowisko On-Premise.
Praktyki bezpieczeństwa
Poniżej zebrane są praktyki i elementy, które zwykle mają największe znaczenie przy wdrożeniach:
- Sekrety i dane wrażliwe przechowywane w Azure Key Vault,
- komunikacja między komponentami zabezpieczona przez integrację z VNET i service endpoints,
- Application Gateway zapewnia dodatkową warstwę bezpieczeństwa i zarządzania ruchem w produkcji,
- mechanizmy autoryzacji i licencjonowania na poziomie endpointów.
Rozszerzalność
Modularny projekt pomaga w rozwoju rozwiązania:
- modularny projekt umożliwia łatwe dodawanie nowych usług AI lub endpointów,
- fabryki connectorów i procesorów umożliwiają integrację z przyszłymi dostawcami AI,
- elastyczna konfiguracja modeli i priorytetów.
Monitorowanie i diagnostyka
- Application Insights zapewnia telemetrię w czasie rzeczywistym, śledzenie błędów i metryki wydajności,
- logi i metryki wspierają proaktywną diagnostykę i ciągłe doskonalenie,
- obsługa OpenTelemetry dla zaawansowanego monitorowania.