Nowa metoda zapytań do baz danych oparta na LLM – alternatywa dla SQL

Bazy danych stanowią kluczowy element współczesnych systemów informatycznych, umożliwiając gromadzenie i przetwarzanie ustrukturyzowanych informacji w różnych dziedzinach – od analityki biznesowej po aplikacje korporacyjne. Tradycyjnie do ich obsługi wykorzystywany jest język SQL, jednak jego złożoność i różnice między systemami zarządzania bazami danych (DBMS) sprawiają, że automatyzacja zapytań opartych na modelach językowych (LLM) napotyka na liczne trudności. W odpowiedzi na te wyzwania badacze opracowali metodę opartą na wywołaniach funkcji API, eliminującą konieczność korzystania z SQL i zwiększającą skuteczność interakcji modeli AI z bazami danych.

Problemy istniejących systemów text-to-SQL

Obecne rozwiązania polegające na tłumaczeniu zapytań w języku naturalnym na SQL często okazują się zawodne. Główne wyzwania to:

Różnorodność dialektów SQL – Każdy system DBMS stosuje własne warianty SQL, co utrudnia modelom LLM uogólnienie reguł na wiele platform.
Złożoność zapytań – Wiele rzeczywistych zapytań obejmuje filtrowanie, agregację i transformację wyników, co jest trudne do zrealizowania przez obecne modele AI.
Dokładność w nawigacji po bazie danych – W strukturach z wieloma kolekcjami danych kluczowe jest precyzyjne określenie, które tabele lub kolekcje powinny być przeszukiwane.
Ocena skuteczności modeli – Wydajność zapytań generowanych przez LLM zależy od ich stopnia skomplikowania, a obecne benchmarki nie zawsze dokładnie mierzą jakość interakcji z bazą danych.

Nowa alternatywa – wywołania funkcji API

Zamiast konwertować język naturalny na SQL, badacze z Weaviate, Contextual AI i Morningstar zaproponowali podejście oparte na funkcjach API. W tym modelu LLM wykorzystuje zdefiniowane funkcje do wykonywania działań takich jak wyszukiwanie, filtrowanie czy agregacja, eliminując błędy wynikające z niezgodności składni SQL.

Nowe rozwiązanie zostało przetestowane na benchmarku DBGorilla, który pozwala ocenić skuteczność modeli AI w kontekście zapytań do baz danych. Dataset DBGorilla składa się z 315 zapytań obejmujących pięć schematów baz danych, w których zastosowano różne typy filtrów, w tym numeryczne, tekstowe i logiczne, a także funkcje agregacji takie jak SUM, AVG i COUNT.

Wyniki testów – który model LLM radzi sobie najlepiej?

W badaniu przeanalizowano działanie ośmiu modeli LLM, w tym GPT-4o, Claude 3.5 Sonnet i Gemini 1.5 Pro, mierząc ich skuteczność w trzech głównych obszarach:

1. Dokładność dopasowania wyników (Exact Match Score)
2. Zgodność z drzewem składniowym (AST Alignment)
3. Precyzja w określaniu kolekcji danych (Collection Routing Accuracy)

Najlepsze wyniki uzyskał Claude 3.5 Sonnet, osiągając 74,3% dokładności dopasowania, tuż za nim znalazł się GPT-4o Mini z wynikiem 73,7%, a na trzecim miejscu uplasował się GPT-4o (71,8%). Model Gemini 1.5 Pro osiągnął 70,2%.

W kontekście filtrów właściwości logicznych modele LLM uzyskały 87,5% skuteczności, natomiast filtry tekstowe okazały się bardziej problematyczne – modele często myliły je z zapytaniami wyszukiwania. Precyzja określania kolekcji baz danych była bardzo wysoka, osiągając od 96% do 98%.

Analiza wpływu złożoności zapytań wykazała, że dla prostych zapytań z jednym argumentem GPT-4o osiągnął 87,5% skuteczności, jednak w przypadku bardziej skomplikowanych zapytań z wieloma parametrami skuteczność spadła do 72,1%.

Eksperymenty z różnymi konfiguracjami zapytań

Naukowcy przeprowadzili dodatkowe testy, aby sprawdzić, jak różne podejścia do wywołań funkcji wpływają na skuteczność modeli. Wyniki były następujące:

Równoległe wywołania funkcji – nieznacznie obniżyły skuteczność do 71,2%.
Podział zapytań na indywidualne kolekcje – minimalny wpływ na dokładność, wynik 72,3%.
Zastąpienie wywołań funkcji generowaniem ustrukturyzowanych odpowiedzi – skuteczność 72,8%.

Różnice te pokazują, że metoda oparta na wywołaniach funkcji zapewnia stabilną i skuteczną obsługę zapytań do baz danych, niezależnie od konfiguracji.

Podsumowanie – czy to koniec SQL w bazach danych?

Nowe podejście do zapytań opartych na wywołaniach funkcji API pokazuje, że jest to skuteczna alternatywa dla tradycyjnych metod text-to-SQL. Kluczowe wnioski z badania to:

Wyższa dokładność generowania zapytań – modele osiągnęły ponad 74% skuteczności, co przewyższa wiele standardowych benchmarków SQL.
Lepsza precyzja w określaniu kolekcji danych – skuteczność na poziomie 96%–98%, co gwarantuje dokładność w nawigacji po bazie danych.
Trudności z filtrami tekstowymi – modele AI nadal mają problemy z rozróżnieniem między zapytaniami wyszukiwania a filtrami właściwości tekstowych.
Minimalny wpływ różnych konfiguracji zapytań – niezależnie od podejścia, metoda wywołań funkcji pozostaje skuteczna i niezawodna.

Metoda oparta na wywołaniach funkcji API może zrewolucjonizować sposób, w jaki modele AI współpracują z bazami danych, eliminując bariery wynikające z różnic w składni SQL oraz poprawiając dokładność i skalowalność zapytań. Choć SQL pozostanie istotnym elementem systemów bazodanowych, nowe podejścia oparte na AI mogą znacząco uprościć i zautomatyzować przetwarzanie danych w przyszłości.