Akceptuj rodzicaWyjmowanie od frontendu w tworzeniu artykułu
Frontend wysyła rodzicaGuid (stru) nie rodzicId (numeryczny). Resolwacja GUID do ID po stronie serwera poprzez odszukajenie.
Dodaj ?JsonIgnore do leniwych kolekcji i back-reference
Zapobiega lazyInitializationException i cyrkularyzowaniu, gdy Przywracanie podmiotów KB poprzez punkty końcowe REST.
Dodaj KNOWLEDGE_BASE do AppType i Organization.isKnowledgeBase getter
Bez nich wejście paska bocznego KB i karta domowa zostały ukryte, ponieważ Organizacja.isKnowledgeBase była nieokreślona.
Podsłuchiwanie historii sesji bocznej, folderów, wyszukiwania i usuwania zduplikowanej ikony nagłówka
- Napraw owinięte analizowanie odpowiedzi API dla sesji i folderów - Fix folder utworzony, aby użyć nazwy pola parentFolderId - Napraw aktualizacje sesji/folder...
Użyj zakończenia czatu bez strumieniowania dla punktu końcowego REST
Przesyłanie strumieniowe przez REST z blokLast() tworzyło puste odpowiedzi, ponieważ Parowanie SSE WebClient nie działa niezawodnie z bodyToFlux (Stringclass). ...
Dodaj szczegółową rejestrowanie błędów do HuggingFaceAdapter do debugowania 400 błędów
Przechwytuje i rejestruje rzeczywisty organ reagowania na błędy HF zamiast tylko kodu statusu.
Przełącz HuggingFace na router.huggingface.co (api-inference jest przestarzały)
HF zwraca 410 na api-inference.huggingface.co z wiadomością do użycia Zamiast tego router.huggingface.co.
Hide Base pole URL dla Hugging Face (twardo zakodowany po stronie serwera)
Użyj punktu końcowego kompatybilnego z HuggingFace OpenAI z modelem w ciele zapytania
HF /v1/chat/completions punkt końcowy pobiera identyfikator modelu w korpusie JSON, Nie na ścieżce URL. Przełączane z routingu adresów URL na standard
Omącz wszystkie modele dostawców w edycji, pre-populate aktywne selekcje
- Przypisywanie danych dostawcy ze wszystkimi modelami (aktywny + nieaktywny) po kliknięciu Edytuj - Pre-populate edit.models z identyfikatorami aktywnych model...
Dodaj liczbę modeli do listy dostawców, przełącz HF do punktu końcowego routera
- Dołącz modelCount w liście dostawców GET response - Przełącz domyślny URL twarzy do routera.huggingface.co - Obsługa zarówno formatów api-inference, jak i rou...
Zwróć pełny odszyfrowany klucz API w odpowiedziach dostawców
Użytkownicy muszą zobaczyć i edytować pełny klucz, a nie zamaskowaną wersję.
Pozostań w trybie edycji po zatworzeniu dostawcy, pokaż przyciski testowe i modelowe
- Po utworzeniu nowego dostawcy pozostań w trybie edycji z zwracanym identyfikatorem Tak więc użytkownik może natychmiast przetestować połączenie i dodać mode...
Zezwala zarówno Shift+Enter, jak i Alt+Enter dla nowej linii w wejściu na czat AI
Normalizuj podstawowy adres URL, aby zapobiec duplikacji /v1/v1
Paski trailing /v1 z podstawowego adresu URL przed dodawaniem /v1/chat/completions, Użytkownicy mogą wprowadzać podstawowe adresy URL z lub bez przyrostka /v1.
Restrukturyzacja połączenia testowego w celu wykrycia modeli, z wdziękiem obsługują ograniczenia stawek
- Odkrycie modelu (lekki GET) działa przed testem czatu (POST) - Błędy limitu stawek (429) pokazują przyjazne dla użytkownika ostrzeżenie zamiast awarii - Błędy...
Przenieś wiadomość do folderu śmieci podczas raportowania jako spam
Po oznaczeniu wiadomości jako spam za pośrednictwem spamApi, zadzwoń również do partApi.move Przenieść go do śmieci (lub z powrotem do INBOX podczas oznaczania ...
Użyj specyficznego dla dostawcy modelu testowego zamiast zakodowanych gpt-4o-mini
Każdy typ dostawcy używa teraz odpowiedniego modelu do testowania połączeń
Przełącz czat AI z WebSocket na tryb REST, aż do momentu udostępnienia serwera proxy WS
Raporty jako "połączone", więc UI jest użyteczne. Wiadomości wysyłane przez REST POST Zamiast WebSocket.
Usuń zduplikuj zminimalizuj/maksymizować / zamknąć przyciski z nagłówka czatu AI
Powłoka okna narzędzia zapewnia już te elementy sterujące.
Użyj typu string dla identyfikatorów dostawców (precyzyjna CockroachDB INT8)
Serializuj identyfikatory podmiotów jako ciągi znaków, aby zapobiec precyzyjnej utracie JavaScript
CockroachDB unique_rowid() generuje wartości INT8, które przekraczają JavaScript Number.MAX_SAFE_INTEGER, powodując uszkodzenie ID w froncie.
Rozszerzanie treści e-mail do pełnej szerokości panelu szczegółów
Usuń maksymalne ograniczenia w 4xl, aby korpus e-mail, załączniki i Szybkie wypełnienie odpowiedzi 100% dostępnej szerokości panelu.
Dodaj obsługę uwierzytelniania OTK dopasowanie do wzorca SecurityService
- Dodać OTKPreAuthFilter, aby potwierdzić nagłówek X-OTK i wyelitować sesję - Aktualizacja sesjiPomoc do odczytu z atrybutów żądań ustawiłeś przez filtr - Zaktu...
Align ProviderSetupTab nazwy pól z podmiotem zaplecza (priorityOrder, maxRateLimit, isActive)
Użyj - Wynaj dla RspamdConfig i trenuj bez blokowania
RspamdConfig używa teraz ’Value to do dopasowania istniejących wzorców projektów. Niepowodzenia treningowe Rspamd nie uniemożliwiają już przesuwania wiadomości.
Usunąć searchValue z ValueSelect queryKey, aby uniknąć niepotrzebnych refetches
Jak to, co widzisz żeglugę?
Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.