Przejdź do głównej zawartości

Wysokopoziomowe koncepcje

Ta dokumentacja została przetłumaczona automatycznie i może zawierać błędy. Nie wahaj się otworzyć Pull Request, aby zaproponować zmiany.

LlamaIndex.TS pomaga w budowaniu aplikacji opartych na LLM (np. pytania i odpowiedzi, chatbot) na podstawie niestandardowych danych.

W tym przewodniku po wysokopoziomowych koncepcjach dowiesz się:

  • jak LLM może odpowiadać na pytania przy użyciu twoich własnych danych.
  • kluczowe koncepcje i moduły w LlamaIndex.TS do tworzenia własnego potoku zapytań.

Odpowiadanie na pytania w oparciu o Twoje dane

LlamaIndex używa dwuetapowej metody podczas korzystania z LLM wraz z danymi:

  1. etap indeksowania: przygotowanie bazy wiedzy, oraz
  2. etap zapytania: pobieranie odpowiedniego kontekstu z wiedzy, aby pomóc LLM w udzieleniu odpowiedzi na pytanie.

Ten proces jest również znany jako Retrieval Augmented Generation (RAG).

LlamaIndex.TS dostarcza niezbędnego narzędzia do wykonania obu etapów w sposób bardzo prosty.

Przeanalizujmy teraz każdy etap szczegółowo.

Etap indeksowania

LlamaIndex.TS pomaga w przygotowaniu bazy wiedzy za pomocą zestawu konektorów danych i indeksów.

Ładowarki danych: Konektor danych (tj. Reader) pobiera dane z różnych źródeł danych i formatów danych do prostego reprezentacji Document (tekst i proste metadane).

Dokumenty / Węzły: Document to ogólny kontener dla dowolnego źródła danych - na przykład pliku PDF, wyniku API lub pobranych danych z bazy danych. Node to atomowa jednostka danych w LlamaIndex i reprezentuje "kawałek" źródłowego Document. Jest to bogata reprezentacja, która zawiera metadane i relacje (do innych węzłów), umożliwiające dokładne i wyraźne operacje wyszukiwania.

Indeksy danych: Po załadowaniu danych LlamaIndex pomaga w indeksowaniu danych w formacie, który jest łatwy do pobrania.

Pod spodem LlamaIndex analizuje surowe dokumenty na pośrednie reprezentacje, oblicza osadzenia wektorowe i przechowuje Twoje dane w pamięci lub na dysku.

"

Etap zapytania

W etapie zapytania, potok zapytań pobiera najbardziej odpowiedni kontekst na podstawie zapytania użytkownika, a następnie przekazuje go do LLM (wraz z zapytaniem) w celu syntezowania odpowiedzi.

Daje to LLM aktualną wiedzę, która nie znajduje się w jego oryginalnych danych treningowych, (co również zmniejsza halucynacje).

Największym wyzwaniem na etapie zapytania jest pobieranie, zarządzanie i wnioskowanie na podstawie (potencjalnie wielu) baz wiedzy.

LlamaIndex dostarcza moduły, które można komponować, aby pomóc w budowaniu i integracji potoków RAG dla pytań i odpowiedzi (silnik zapytań), chatbotów (silnik chatu) lub jako część agenta.

Te podstawowe elementy można dostosować, aby odzwierciedlały preferencje rankingowe, a także komponować w celu wnioskowania na podstawie wielu baz wiedzy w strukturalny sposób.

Podstawowe elementy

Retrievers: Retriever definiuje sposób efektywnego pobierania odpowiedniego kontekstu z bazy wiedzy (tj. indeksu) na podstawie zapytania. Konkretna logika pobierania różni się w zależności od różnych indeksów, najpopularniejszym jest gęste pobieranie na podstawie indeksu wektorowego.

Response Synthesizers: Response Synthesizer generuje odpowiedź na podstawie LLM, używając zapytania użytkownika i określonego zestawu pobranych fragmentów tekstu.

"

Potoki

Silniki zapytań: Silnik zapytań to potok od początku do końca, który umożliwia zadawanie pytań na podstawie danych. Przyjmuje zapytanie w naturalnym języku i zwraca odpowiedź wraz z pobranym kontekstem referencyjnym przekazanym do LLM.

Silniki chatu: Silnik chatu to potok od początku do końca, który umożliwia prowadzenie rozmowy z danymi (wielokrotne pytania i odpowiedzi zamiast pojedynczego pytania i odpowiedzi).

"