NastępnyNastępny poradnik
Ranking wywołań funkcji w Berkeley (Berkeley Function Calling Leaderboard)
Techniczne
PRZEWODNIK techniczny
Równoległe wywołanie funkcji ma miejsce, gdy model języka żąda kilku wywołań narzędzi w jednej odpowiedzi, dzięki czemu aplikacja może je uruchomić w tym samym czasie i zwrócić wszystkie wyniki razem.
Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~3 min
Ma to znaczenie, ponieważ zmniejsza liczbę podróży w obie strony i opóźnienia w przypadku niezależnych wyszukiwań, ale jest bezpieczne tylko wtedy, gdy wywołania nie są od siebie zależne i gdy aplikacja poprawnie obsługuje porządkowanie, skutki uboczne i częściowe awarie.
W przypadku podstawowego użycia narzędzia model prosi o jedno narzędzie, aplikacja je uruchamia, zwraca wynik i model kontynuuje działanie. Każdy krok kosztuje pełną podróż w obie strony modelu. Dzięki równoległemu wywoływaniu funkcji model może emitować wiele żądań wywołań narzędzi w jednej odpowiedzi, każde z własnym identyfikatorem, nazwą i argumentami. Aplikacja wykonuje je, często jednocześnie, i odsyła jeden wynik na każde wywołanie, każdy powiązany ze swoim identyfikatorem, dzięki czemu model wie, który wynik należy do którego żądania. Pod koniec 2023 r. OpenAI dodał do swojego API funkcję równoległego wywoływania, a inni główni dostawcy obsługują wiele wywołań narzędzi w jednej turze. Niektóre interfejsy API udostępniają ustawienie umożliwiające wyłączenie tego zachowania, gdy aplikacja potrzebuje tylko jednego wywołania na raz. Wywołania równoległe są bezpieczne, jeśli są niezależne: odczyty, które nie wpływają na siebie nawzajem, np. wyszukiwanie kilku rekordów lub przeprowadzanie kilku wyszukiwań. Są one ryzykowne, gdy jedno wywołanie wymaga danych wyjściowych innego lub gdy wywołania mają interakcyjne skutki uboczne, takie jak dwa zapisy w tym samym rekordzie lub opłata, po której następuje zwrot pieniędzy. Kolejność, w jakiej model wyświetla wywołania, nie jest gwarantowaną kolejnością wykonania i aplikacja może je zakończyć w dowolnej kolejności. Powszechnym błędnym przekonaniem jest to, że model uruchamia narzędzia równolegle. Tak nie jest; tylko ich żąda. Za współbieżność, przekroczenia limitu czasu i ponowne próby odpowiada aplikacja. Innym błędnym przekonaniem jest to, że jeśli jedno wywołanie nie powiedzie się, cała partia zakończy się niepowodzeniem. Dobrze zbudowana aplikacja zwraca każdy wynik indywidualnie, łącznie z błędami, dzięki czemu model może kontynuować to, co się udało. Dla kroków zależnych model powinien wywołać pierwsze narzędzie, poczekać na jego wynik i następnie wywołać kolejne. Dobre opisy narzędzi i instrukcje systemowe mogą pomóc w określeniu, kiedy należy wykonywać partie, a kiedy sekwencyjnie.
Asystent podróży zapytany o pogodę w Paryżu, Rzymie i Madrycie podaje trzy komunikaty o pogodzie w jednej turze, a aplikacja uruchamia je jednocześnie.
Agent panelu sprzedaży pobiera zamówienia klienta, otwiera zgłoszenia do pomocy technicznej i notatki dotyczące konta w jednej równoległej partii przed napisaniem podsumowania.
Agent poproszony o utworzenie folderu, a następnie zapisanie w nim pliku nie może wykonywać obu wywołań równolegle, ponieważ zapis zależy od istniejącego folderu.
Agent badawczy wysyła równolegle pięć zapytań; upłynie dwa razy, a aplikacja zwróci trzy wyniki i dwa wyraźne komunikaty o błędach, dzięki czemu model będzie mógł ponawiać tylko te zakończone niepowodzeniem.
W miarę jak agenci podejmują się większych zadań, korzystanie z narzędzi równoległych staje się rutynowym sposobem na zmniejszenie opóźnień, a modele są szkolone w zakresie rozpoznawania, które wywołania są niezależne. Harnessy dodają także funkcje, takie jak planowanie uwzględniające zależności i blokowanie zasobów, dzięki czemu można bezpiecznie wykonywać żądania wsadowe. Ocena modelu na temat zależności prawdopodobnie ulegnie poprawie, ale aplikacja pozostanie odpowiedzialna za egzekwowanie bezpieczeństwa w przypadku skutków ubocznych, przekroczeń limitu czasu i ponownych prób, ponieważ zależą one od rzeczywistych systemów, których model nie widzi.
Darmowy newsletter
Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.
Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.
Sprawdź się
Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.
Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę
Równoległe wywołanie funkcji ma miejsce, gdy model języka żąda kilku wywołań narzędzi w jednej odpowiedzi, dzięki czemu aplikacja może je uruchomić w tym samym czasie i zwrócić wszystkie wyniki razem. Ma to znaczenie, ponieważ zmniejsza liczbę podróży w obie strony i opóźnienia w przypadku niezależnych wyszukiwań, ale jest bezpieczne tylko wtedy, gdy wywołania nie są od siebie zależne i gdy aplikacja poprawnie obsługuje porządkowanie, skutki uboczne i częściowe awarie.
Model emituje wiele żądań wywołań narzędzi w jednej turze, które aplikacja może uruchomić razem.
Model żąda tylko połączeń; współbieżność, przekroczenia limitu czasu i ponowne próby to zadanie aplikacji.
Zapis pliku zależy od istniejącego folderu, więc wywołania muszą być uruchamiane po kolei.
Równoległe wywołania kończą się w nieprzewidywalnej kolejności, więc identyfikator jest niezawodnym łączem.
Zwrócenie każdego wyniku indywidualnie, łącznie z błędami, umożliwia kontynuację modelu i selektywne ponawianie prób.
Ucz się dalej
Wybrano więcej przewodników na ten temat
NastępnyNastępny poradnik
Ranking wywołań funkcji w Berkeley (Berkeley Function Calling Leaderboard)
Techniczne