Data publikacji: 13 stycznia 2025 r.
To ostatnia część z 3 artykułów na temat chatbotów wykorzystujących LLM. W poprzednich artykułach omawialiśmy możliwości LLM-ów po stronie klienta i przedstawialiśmy, jak dodać do aplikacji z listą zadań czatbota wykorzystującego WebLLM.
Niektóre nowsze urządzenia są dostarczane z dużymi modelami językowymi i innymi modelami AI. W Chrome proponujemy integrację wbudowanych interfejsów API AI z przeglądarką. Liczba interfejsów API jest na różnych etapach rozwoju. Wiele z tych interfejsów API przechodzi proces standaryzacji, aby witryny mogły korzystać z tej samej implementacji i modelu w celu osiągnięcia maksymalnej wydajności wnioskowania.
Prompt API to jeden z takich interfejsów AI. Aby z niej korzystać, deweloperzy powinni zarejestrować się w programie wczesnej wersji zapoznawczej. Po zaakceptowaniu otrzymasz instrukcje włączania interfejsu Prompt API w przeglądarkach. Interfejs Prompt API jest dostępny w testowaniu origin rozszerzeń do Chrome, dzięki czemu możesz przetestować ten interfejs API na prawdziwych użytkownikach rozszerzeń.
Dostęp do udostępnionego modelu
Interfejs Prompt API działa podobnie jak WebLLM. Obecnie nie można jednak wybrać modelu (musisz użyć LLM dołączonego do przeglądarki). Po włączeniu wbudowanej AI przeglądarka Chrome pobiera Gemini Nano. Ten model można następnie udostępniać wielu źródłom i uruchamiać z maksymalną wydajnością. W GitHubie jest problem, w którym deweloper poprosił o dodanie funkcji wyboru modelu.
Konfigurowanie rozmowy
Rozmowę tekstową możesz rozpocząć w ten sam sposób, ale Prompt API oferuje też skrótowy zapis składni do określenia promptu systemowego. Rozpocznij sesję modelu językowego za pomocą metody create()
w usługach self.ai.languageModel
:
const session = await self.ai.languageModel.create({
systemPrompt: `You are a helpful assistant. You will answer questions related
to the user's to-do list. Decline all other requests not related to the user's
todos. This is the to-do list in JSON: ${JSON.stringify(todos)}`,
});
Odpowiedz na pierwsze pytanie
Zamiast obiektu konfiguracji do konfigurowania strumieniowania Prompt API oferuje 2 oddzielne metody:
prompt()
zwraca pełny ciąg znakówpromptStreaming()
zwraca asynchroniczną iterację. W odróżnieniu od interfejsu WebLLM interfejs Prompt API zwraca pełną odpowiedź w postaci ciągu znaków, dzięki czemu nie musisz samodzielnie łączyć wyników.
Jeśli żadna inna domena nie wywołała wcześniej pobierania modelu, Twoje pierwsze żądanie może potrwać bardzo długo, ponieważ Gemini Nano jest pobierane do przeglądarki. Jeśli model jest już dostępny, wnioskowanie rozpocznie się natychmiast.
const stream = session.promptStreaming("How many open todos do I have?");
for await (const reply of stream) {
console.log(reply);
}
Prezentacja
Podsumowanie
Integracja modeli LLM z aplikacją może znacznie poprawić wrażenia użytkownika. Chociaż usługi w chmurze oferują modele o wyższej jakości i wysoką wydajność wnioskowania niezależnie od urządzenia użytkownika, rozwiązania na urządzeniu, takie jak WebLLM i Prompt API w Chrome, działają w trybie offline, zapewniają większą prywatność i umożliwiają oszczędności w porównaniu z rozwiązaniami w chmurze. Wypróbuj te nowe interfejsy API i uczynij swoje aplikacje internetowe jeszcze mądrzejszymi.