Dokumentacja
Narzędzia lovverk: na co odpowiada każde z nich, na co nie odpowiada, logowanie, korpus i zastrzeżenia.
lovverk to serwer MCP z 18 narzędziami tylko do odczytu. Żadne z nich nie zmienia korpusu. Jak skierować do niego klienta: Połącz.
Narzędzia
Wyszukiwanie. search_laws przeszukuje skróconą nazwę (slug) i tytuł, search_body sam tekst prawa, a semantic_search szuka według znaczenia — gdy pytasz innymi słowami, niż używa ustawa. list_recent_changes pokazuje ostatnie zmiany, a corpus_status, jak świeży jest korpus, z którego czytasz.
Czytanie. get_law zwraca cały tekst, get_section pojedynczy przepis z już sprawdzonymi odesłaniami, a list_sections spis treści — model nie musi więc przeciągać całej ustawy przez okno kontekstu, żeby dotrzeć do jednego paragrafu.
Weryfikacja. validate_citation odpowiada, czy dane odesłanie w ogóle istnieje, a verify_quote, czy dosłowny cytat naprawdę występuje w przepisie, któremu go przypisujesz. Te dwa narzędzia istnieją z powodu najczęstszego błędu: modelu cytującego słowa, których tam nie ma.
Historia. get_law_history, list_law_versions, get_law_at i diff_law_versions czytają własną historię git korpusu: co korpus zawierał na koniec danego dnia i czym różniły się dwie daty. get_temporal_events zwraca to, co samo źródło mówi o zmianach i wejściu w życie. get_observation_history dotyczy tylko lokalnych rozporządzeń: które wersje zaobserwowano na stronie organu i kiedy — zaobserwowane, nigdy nie twierdzimy, że obowiązują.
UE i EOG. get_eu_basis podaje kody CELEX aktów, które dana ustawa wdraża; search_eu_implementations działa w drugą stronę, od dokumentu UE do norweskich ustaw.
Na co nie odpowiada
- To nie porada prawna. Narzędzia pokazują tekst prawa. Interpretacja należy do ciebie.
- Nie prawo obowiązujące w danym dniu. Narzędzia historii odpowiadają, co korpus zawierał w danym dniu — a nie, które przepisy wtedy obowiązywały. To dwa różne pytania i tylko na pierwsze da się tu odpowiedzieć.
- Bez orzecznictwa, prac przygotowawczych i okólników. Przepis może być wiążący, a mimo to go tu nie być. Pusty wynik nie dowodzi, że takiego przepisu nie ma.
- Bez sprawdzania parafraz.
verify_quotepotwierdza, że dosłowny ciąg znaków występuje w przepisie. Czy przeredagowanie jest wierne prawnie, tego nie rozstrzygnie — w tym celu przeczytaj tekst sam.
Korpus
5 890 dokumentów w ostatnim wydaniu: obowiązujące norweskie ustawy i centralne rozporządzenia, pobrane z otwartych danych Lovdata i zapisane jako Markdown. Możesz je przeglądać tutaj — ustawy i rozporządzenia (po norwesku).
Podział pochodzi od samego źródła: lover (ustawy) uchwala Storting, a sentrale forskrifter (centralne rozporządzenia) wydaje ministerstwo lub dyrektoriat na podstawie upoważnienia ustawowego.
Lokalne rozporządzenia to osobny zbiór danych, lokale-forskrifter: rozporządzenia zaobserwowane na stronach internetowych samych gmin, publikowane na podstawie åndsverkloven § 14 i oznaczone jako zaobserwowane, bez twierdzenia, że obowiązują (asserted: false). Zbiór jest mały i rośnie. Narzędzia czytają go tylko wtedy, gdy o niego poprosisz przez dataset="lokale-forskrifter"; w przeciwnym razie odpowiadają z ustaw i centralnych rozporządzeń.
Źródło: Lovdata, na licencji NLOD 2.0; każdy plik zawiera licencję we własnym nagłówku (front matter). Korpus jest publiczny w lovverk; silnik, który go buduje, to lovspor, na licencji AGPL-3.0.
Logowanie
Usługa hostowana zawsze wymaga zalogowania: wywołanie bez poświadczeń dostaje odpowiedź 401. Logujesz się przez OAuth 2.1, za pomocą konektora w aplikacji czatu, takiej jak claude.ai czy ChatGPT; instrukcje są na stronie Połącz. Logowanie jest włączone, gdy na serwerze skonfigurowano parę OAuth 2.1 — usługa odpowiada wtedy na wykrywanie RFC 9728; gdy jest wyłączone, nie ma żadnego .well-known.
W jakim stanie usługę rzeczywiście zaobserwowano przy ostatnim wydaniu, podaje strona status — nie ta.
Limity
Każde wywołanie jest liczone na dwóch poziomach: na poświadczenie i na instancję. Oba ograniczają liczbę równoczesnych wywołań, wywołań na minutę, wywołań na dzień i wyszukiwań semantycznych na dzień. Limity ustala się per poświadczenie i można je zmienić bez nowego wydania, więc są związane z twoim logowaniem — nie z tą stroną. Liczniki są trzymane w pamięci: restart usługi zeruje dzień.
Uczciwe zastrzeżenia
semantic_searchwymaga klucza na serwerze. Twoje zapytanie jest wysyłane do usługi embeddingów, która zamienia je na wektor. Wektory korpusu obliczono wcześniej, ale twoje pytanie opuszcza maszynę — nie wklejaj więc do niego poufnych treści. Bez klucza wyłączone jest tylko to jedno narzędzie; pozostałe działają bez zmian. Jeśli uruchamiasz serwer sam, klucz jest twój.- Wynik to podobieństwo, nie trafność. Wysoka liczba z
semantic_searchoznacza, że przepis dotyczy czegoś podobnego — a nie, że odpowiada na pytanie. Przeczytaj tekst przezget_section, zanim go zacytujesz. search_bodydopasowuje podciągi znaków. Bez odmiany wyrazów: wyszukanie skattefradrag nie znajdzie dokumentów, w których występuje tylko skattefradraget.- Brak obserwacji nie znaczy „nie działa”. Na stronie status wartość jest oznaczona jako nieobserwowana, gdy sam pomiar się nie powiódł — z powodu naszej sieci, naszego poświadczenia albo naszych narzędzi. Strona mówi wtedy dokładnie to, z powodem i czasem, zamiast pokazywać poprzednią wartość albo zero. Awaria obserwatora nie jest awarią usługi i nie mogą wyglądać tak samo.