Data publikacji: 13 stycznia 2025 r.
To ostatnia część 3-częściowej serii artykułów o czatbotach LLM. W poprzednich artykułach omówiliśmy potencjał modeli LLM po stronie klienta i pokazaliśmy, jak dodać chatbota opartego na WebLLM do aplikacji z listą zadań.
Niektóre nowsze urządzenia są dostarczane z dużymi modelami językowymi i innymi modelami AI bezpośrednio na urządzeniu. Chrome zaproponował zintegrowanie wbudowanych interfejsów API AI z przeglądarką. Liczba interfejsów API na różnych etapach rozwoju. Wiele z tych interfejsów API przechodzi proces standaryzacji, dzięki czemu witryny mogą używać tej samej implementacji i tego samego modelu, aby osiągnąć maksymalną wydajność wnioskowania.
Interfejs Prompt API to jeden z takich interfejsów API AI. Aby z niej korzystać, deweloperzy powinni zarejestrować się w programie wczesnego dostępu. Gdy Twoja prośba zostanie zaakceptowana, otrzymasz instrukcje włączania interfejsu Prompt API w przeglądarkach. Interfejs Prompt API jest dostępny w ramach testowania origin rozszerzeń do Chrome, dzięki czemu możesz przetestować ten interfejs API na prawdziwych użytkownikach rozszerzeń.
Dostęp do modelu współdzielonego
Interfejs Prompt API działa podobnie do WebLLM. Tym razem nie ma jednak możliwości wyboru modelu (musisz użyć modelu LLM dostarczonego z przeglądarką). Gdy włączysz wbudowaną AI, Chrome pobierze Gemini Nano do przeglądarki. Model ten można następnie udostępniać w wielu źródłach i uruchamiać z maksymalną wydajnością. Istnieje problem w GitHubie, w którym deweloper poprosił o dodanie funkcji wyboru modelu.
Konfigurowanie rozmowy
Możesz rozpocząć rozmowę w ten sam sposób, ale interfejs Prompt API oferuje też skróconą składnię do określania prompta systemowego. Rozpocznij sesję modelu językowego, korzystając z metody create() w interfejsie LanguageModel:
const session = await LanguageModel.create({
initialPrompt: [
{
type: 'system',
content: `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 interfejs Prompt API oferuje 2 oddzielne metody:
prompt()zwraca pełny ciąg tekstowypromptStreaming()zwraca asynchroniczny obiekt iterowalny. W przeciwieństwie do WebLLM interfejs Prompt API zwraca pełną odpowiedź w postaci ciągu znaków, więc nie musisz samodzielnie łączyć wyników.
Jeśli żaden inny początek nie spowodował wcześniej pobrania modelu, pierwsze żądanie może zająć dużo czasu, ponieważ Gemini Nano zostanie pobrany 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 dużych modeli językowych z aplikacjami może znacznie zwiększyć wygodę użytkowników. Usługi w chmurze oferują modele o wyższej jakości i wysoką wydajność wnioskowania niezależnie od urządzenia użytkownika, ale rozwiązania na urządzeniu, takie jak WebLLM i interfejs Prompt API w Chrome, działają w trybie offline, zwiększają prywatność i oszczędzają koszty w porównaniu z alternatywami opartymi na chmurze. Wypróbuj te nowe interfejsy API i spraw, aby Twoje aplikacje internetowe były bardziej inteligentne.