О чём урок
В этом notebook мы узнаем, как запрашивать релевантные контексты для наших запросов из Pinecone и передавать их модели GPT-4 для генерации ответа, основанного на реальных источниках данных. GPT-4 — это значительный шаг вперед по сравнению с предыдущими моделями завершения от OpenAI. Он также исключительно использует endpoint ChatCompletion, поэтому мы должны использовать его несколько иначе, чем обычно. Однако мощь модели делает это изменение оправданным, особенно при расширении с помощью внешней базы знаний, такой как векторная база данных Pinecone. Для этого notebook необходимы следующие установки: В этом примере мы загрузим документацию LangChain с langchain.readthedocs.io/. Мы получаем все файлы .html, расположенные на сайте, следующим образом: Это загружает весь HTML в директорию rtdocs. Теперь мы можем использовать сам LangChain для обработки этой документации. Мы делаем это с помощью ReadTheDocsLoader следующим образом: Таким образом, у нас есть сотни обработанных страниц документации. Давайте посмотрим на формат каждой из них: Мы получаем доступ к текстовому содержимому страницы следующим образом: Мы также можем найти источник каждого документа: Мы можем использовать это для создания нашего списка data: Выглядит довольно неаккуратно, но пока этого достаточно. Давайте посмотрим, как мы можем обработать все это. Мы разделим все на фрагменты (chunks) примерно по 400 токенов; это легко сделать с помощью langchain и tiktoken: Обработаем data, разделив ее на дополнительные chunks, используя этот подход. Наши chunks готовы, и теперь мы переходим к созданию embedding и индексированию всего. Мы используем text-embedding-3-small в качестве модели embedding. Мы можем создавать embedding текста следующим образом: В ответе res мы найдем JSON-подобный объект, содержащий наши новые embedding в поле 'data'. Внутри 'data' мы найдем две записи, по одной для каждого из двух предложений, которые мы только что преобразовали в embedding. Каждый векторный embedding содержит 1536 измерений (выходная размерность модели text-embedding-3-small).
План урока
- Исправление LLM, которые галлюцинируют
- Подготовка данных
- Инициализация модели embedding
- Инициализация индекса
- Извлечение
- Генерация с расширением извлечением
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.