Agenci AI

Semantic Kernel i Gemini: Budowa zaawansowanego agenta AI z wykorzystaniem narzędzi

W świecie sztucznej inteligencji pojawiają się coraz to nowsze rozwiązania, mające na celu ułatwienie tworzenia zaawansowanych systemów. Jednym z ciekawszych jest połączenie Semantic Kernel z modelem Gemini, które umożliwia budowę agenta AI zdolnego do efektywnego wykorzystywania różnorodnych narzędzi.

Artykuł opisuje implementację takiego agenta, wykorzystującego Semantic Kernel w połączeniu z darmowym modelem Gemini od Google. Całość uruchomiona jest w środowisku Google Colab. Kluczowym elementem jest połączenie wtyczek Semantic Kernel, działających jako narzędzia, takie jak wyszukiwarka internetowa, moduł obliczeń matematycznych, system obsługi plików oraz narzędzie do notatek. Gemini odpowiada za orkiestrację tych narzędzi poprzez strukturalne wyjścia JSON.

Proces działania agenta obejmuje planowanie, wywoływanie narzędzi, przetwarzanie obserwacji oraz dostarczanie ostatecznej odpowiedzi. Istotnym elementem jest możliwość śledzenia całego procesu, od momentu planowania, aż po finalną odpowiedź.

Konfiguracja i narzędzia

Pierwszym krokiem jest instalacja niezbędnych bibliotek oraz import kluczowych modułów, w tym Semantic Kernel, Gemini oraz wyszukiwarki DuckDuckGo. Następnie konfiguruje się klucz API Gemini oraz model, który będzie generował odpowiedzi. Przygotowuje się również kernel_function Semantic Kernel do rejestracji niestandardowych narzędzi.

Klasa AgentTools definiuje zestaw narzędzi Semantic Kernel, dając agentowi możliwość wyszukiwania w internecie, wykonywania bezpiecznych obliczeń matematycznych, pobierania aktualnego czasu, odczytu i zapisu plików oraz przechowywania notatek. Po zainicjalizowaniu Semantic Kernel, narzędzia te są rejestrowane jako wtyczki, umożliwiając agentowi ich wywoływanie podczas procesu rozumowania.

Funkcja pomocnicza list_tools zbiera wszystkie dostępne narzędzia, ich opisy oraz sygnatury w rejestrze dla agenta. Następnie budowany jest ciąg CATALOG, który zawiera listę tych narzędzi i jest osadzany w prompcie SYSTEM. Promt ten instruuje Gemini, w jaki sposób wywoływać narzędzia w formacie JSON i zwracać ostateczną odpowiedź. Funkcja extract_json służy do bezpiecznego parsowania wywołań narzędzi lub ostatecznych odpowiedzi z wyjścia modelu.

Działanie agenta w praktyce

Działanie agenta oparte jest na iteracyjnej pętli, która przekazuje kontekst systemowy i użytkownika do Gemini, wymusza wywoływanie narzędzi tylko w formacie JSON, wykonuje żądane narzędzia, przekazuje obserwacje z powrotem do transkryptu i zwraca ostateczną odpowiedź. W przypadku, gdy model odbiega od schematu, jest on korygowany. Jeśli natomiast zostanie osiągnięty limit kroków, generowane jest podsumowanie.

Demonstracyjny przykład pokazuje, jak agent wyszukuje informacje, wykonuje obliczenia, zapisuje plik, zapisuje notatki i raportuje aktualny czas. Uruchomienie agenta w trybie end-to-end pozwala na weryfikację pełnego przepływu pracy z wykorzystaniem narzędzi.

Podsumowanie

Połączenie Semantic Kernel i Gemini tworzy kompaktowy, ale jednocześnie potężny system agentowy, który może być uruchomiony w środowisku Colab. Demonstruje to nie tylko wywoływanie narzędzi, ale także przepływ wyników z powrotem do pętli rozumowania, co pozwala na wygenerowanie precyzyjnej odpowiedzi. Opisane rozwiązanie stanowi bazę do rozszerzenia o więcej narzędzi i zadań. Pokazuje ono, że budowa praktycznego i zaawansowanego agenta AI może być prosta i efektywna, dzięki odpowiedniej kombinacji frameworków.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *