Надёжные ответы на вопросы с Chroma

Урок 257 из 299 курса «OpenAI Cookbook»: официальный курс OpenAI Academy (ОпенАИ) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Этот notebook пошагово проведёт вас через процесс ответа на вопросы о коллекции данных, используя Chroma, базу данных embeddings с открытым исходным кодом, а также текстовые embeddings и API завершения чата OpenAI. Кроме того, этот notebook демонстрирует некоторые компромиссы при повышении надёжности системы ответов на вопросы. Как мы увидим, простые запросы не всегда дают наилучшие результаты! Большие языковые модели (LLM), такие как ChatGPT от OpenAI, могут использоваться для ответа на вопросы о данных, на которых модель, возможно, не обучалась или к которым не имеет доступа. Например: Персональные данные, такие как электронные письма и заметки Узкоспециализированные данные, такие как архивные или юридические документы Недавно созданные данные, такие как свежие новости Чтобы преодолеть это ограничение, мы можем использовать хранилище данных, пригодное для запросов на естественном языке, так же как и сама LLM. Хранилище embeddings, такое как Chroma, представляет документы в виде embeddings, наряду с самими документами. Встраивая текстовый запрос, Chroma может найти релевантные документы, которые затем мы можем передать LLM для ответа на наш вопрос. Мы покажем подробные примеры и варианты этого подхода. Сначала мы убедимся, что необходимые зависимости Python установлены. На протяжении всего этого notebook мы используем API OpenAI. Вы можете получить API key по адресу https://beta.openai.com/account/api-keys Вы можете добавить свой API key как переменную среды, выполнив команду export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx в терминале. Обратите внимание, что вам потребуется перезагрузить notebook, если переменная среды ещё не была установлена. В качестве альтернативы, вы можете установить её в notebook, см. ниже. На протяжении всего этого notebook мы используем набор данных SciFact. Это тщательно подобранный набор данных научно-обоснованных утверждений, аннотированных экспертами, с сопутствующим текстовым корпусом названий статей и аннотаций. Каждое утверждение может быть подтверждено, опровергнуто или не иметь достаточных доказательств в любом случае, согласно документам в корпусе.

План урока

  1. Ответ на вопросы с помощью LLM
  2. Результаты
  3. Загрузка корпуса в Chroma
  4. Извлечение контекста
  5. Фильтрация контекста по релевантности

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды