Wątpliwe jest, aby klienci łatwo i szybko znajdowali produkty, których szukają. Często klienci nie znają dokładnej nazwy produktu, co może prowadzić do frustracji, jeśli go nie znajdą. W tym samouczku nauczysz się jak zaimplementować funkcję poszukiwania produktu z użyciem OpenAI API . Wykorzystamy sztuczkę, aby zapewnić, że nawet podobne lub błędne nazwy produktów prowadzą sukcesywnie do odpowiednich produktów.
Najważniejsze spostrzeżenia
- Wyszukiwanie standardowe wymaga dokładnego dopasowania nazw produktów.
- Funkcję poszukiwania produktu można zaimplementować zwracając wszystkie nazwy produktów w przypadku braku dokładnego dopasowania.
- Następnie sztuczna inteligencja może wybrać odpowiednią nazwę z podobnych nazw produktów i zwrócić odpowiedni opis produktu.
Instrukcja krok po kroku
Aby skonstruować funkcję poszukiwania produktu, postępuj zgodnie z poniższymi krokami.
Krok 1: Identyfikacja problemu
Najpierw musimy rozpoznać podstawowy problem: Poszukiwanie produktu jest zbyt dokładne. Jeśli nazwa produktu wprowadzona przez klienta nie zgadza się dokładnie z tą w bazie danych, produkt nie zostanie znaleziony. W poprzednim przykładzie widzieliśmy, że wpisanie „en77” nie doprowadziło do znalezienia produktu, ponieważ prawdziwa nazwa to „Nice en 77”. Zdjęcie tego błędu może być pomocne.
Krok 2: Modyfikacja logiki wyszukiwania
Aby rozwiązać ten problem, musimy zmienić logikę opisu produktu. Modyfikujemy funkcję „znajdź produkt” tak, aby zwracała wszystkie dostępne nazwy produktów, jeśli nie zostanie znaleziony produkt pod dokładną nazwą. W ten sposób zapewniamy, że sztuczna inteligencja sama poszuka odpowiedniej nazwy. Wstaw poniższy kod do opisu funkcji: „jeśli produkt nie zostanie znaleziony pod dokładną nazwą, ta funkcja zwróci wszystkie dostępne nazwy produktów”. Ten krok pomaga sztucznej inteligencji znaleźć właściwe dopasowanie, gdy nie ma dokładnej nazwy.
Krok 3: Aktualizacja opisu parametru
Po zmianie logiki ważne jest również zaktualizowanie opisu parametru. Użyj następującego sformułowania: „nazwa produktu lub nazwa modelu do znalezienia”. To jasno wskazuje, że funkcja może poszukiwać także podobnych nazw, jeśli nie znajdzie dokładnego dopasowania.
Krok 4: Modyfikacja wywołań funkcji
Konieczna jest zmiana obsługi wywołań funkcji. Jeśli nazwa produktu zostanie znaleziona pomyślnie i mamy identyfikator produktu, opis zostanie zwrócony jak poprzednio. Jeśli jednak nazwa produktu nie zostanie odnaleziona bezpośrednio, tworzymy tablicę z nazwami produktów, zawierającą wszystkie klucze z bazy danych. Ta tablica jest następnie wykorzystywana do ujawnienia możliwych nazw produktów dla sztucznej inteligencji, która może wtedy zidentyfikować pożądane dopasowanie.
Krok 5: Test nowej logiki
Po zaimplementowaniu zmian warto przetestować nową logikę. Wprowadź na przykład „czy masz en77”, bez spacji i pełnej nazwy. Pozwoli to sprawdzić, czy funkcja teraz jest w stanie znaleźć poprawny produkt. Wynik powinien wskazywać, że produkt „Nice en77” jest dostępny. Jest to duży postęp, ponieważ wyszukiwanie działa teraz nawet przy nieostrej wejściowej nazwie.
Krok 6: Zapytanie o opis produktu
Możesz teraz sprawdzić, czy opis produktu jest poprawnie zwracany. Zapytaj sztuczną inteligencję o dodatkowe informacje, mówiąc na przykład: „proszę, najpierw daj mi więcej informacji o tej gitarze”. Wtedy sztuczna inteligencja powinna zwrócić odpowiedni opis na podstawie znalezionej nazwy produktu. Widać, że logika działa i dostarcza właściwe informacje.
Krok 7: Dodanie do koszyka
Po otrzymaniu opisu, spróbuj dodać produkt do koszyka. Użyj komendy: "dodaj do koszyka". Ta funkcja powinna teraz działać poprawnie, a produkt powinien być poprawnie dodany do koszyka. To pokazuje również, że cała struktura komunikacji działa poprawnie.
Krok 8: Podsumowanie i perspektywy
Dzięki tej technice udało ci się pomyślnie zaimplementować nieostre wyszukiwanie produktów, które pozwala sztucznej inteligencji lepiej radzić sobie z wprowadzanymi przez użytkowników danymi. W naszym prostym przykładzie mieliśmy tylko ograniczoną liczbę produktów, co ułatwiło przyporządkowanie. Jednak przy większej bazie danych z ponad 1000 produktami, mogą być konieczne dodatkowe techniki, takie jak osadzanie (embeddings), aby lepiej uchwycić podobieństwa. To pomoże nam efektywnie wyszukiwać także w bardziej rozbudowanych zbiorach danych.
Podsumowanie
Podsumowując, ten przewodnik pokazuje, jak skutecznie zaimplementować nieostre wyszukiwanie produktów, aby ułatwić klientom znajdowanie produktów, nawet jeśli nie są pewni, jak produkt jest nazwany. Zmiany w logice wyszukiwania i dostosowania parametrów umożliwiają efektywne rozwiązanie, które jest łatwe w wdrożeniu i poprawia doświadczenie użytkownika.
Często zadawane pytania
Jak działa nieostre wyszukiwanie produktów?Nieostre wyszukiwanie zwraca wszystkie nazwy produktów, jeśli nie znajdzie dokładnego wyniku wyszukiwania, tak aby SI mogła wybrać odpowiednią nazwę.
Co muszę zmienić w funkcji „znajdź produkt“?Musisz zmienić logikę tak, aby zwracała wszystkie nazwy produktów, jeśli nie ma dokładnego dopasowania.
Jak przetestować nową logikę wyszukiwania?Wpisz nieścisłą nazwę produktu, na przykład „masz en77“, i sprawdź, czy produkt zostanie poprawnie znaleziony.
Jak radzi sobie SI z kilkuset produktami?SI może obsługiwać kilkaset produktów, o ile nie zostaną przekroczone limity tokenów, jednak przy większych ilościach danych Embeddings mogą być lepszą opcją.
Czy wyszukiwanie działa również w przypadku dużych baz produktów?Tak, podstawowa logika działa również w przypadku większych baz produktów, jednak może być konieczne zastosowanie dodatkowych technik, aby zapewnić efektywność i dokładność.