Общайтесь со своими личными документами PDF.

Highlevel Обзор этого приложения Streamlit по файлу.
Нажмите здесь, чтобы пропустить инструкции по установке



Huxley.py Функция main() отвечает за обработку пользовательского интерфейса и обработку загруженного файла PDF. Вот разбивка кода:
Функция render_header() вызывается для отображения раздела заголовка приложения. Он включает в себя заголовок, описание и изображение.
Функция sidebar() вызывается для отображения секции боковой панели приложения. Он включает в себя информацию о Huxleypdf, инструкции о том, как его использовать, и поля ввода для ключа API OpenAI.
Функция setup_environment() вызывается для настройки среды. В настоящее время он печатает только сообщение, указывающее, что настройка ведется.
Функция st.file_uploader() используется для загрузки файла PDF. Пользователю предлагается выбрать файл с описанием «Загрузите свой PDF» и фильтр типа файла, установленную в «PDF».
Затем код получает файл удаленного PDF с использованием класса OnlinePDFLoader из неструктурированной библиотеки. Это прокомментировано на данный момент.
Если загружается файл PDF, код извлекает текст из PDF, используя класс PdfReader из библиотеки PyMupDF.
Извлеченный текст разделен на куски, используя класс CharacterTextSplitter из библиотеки Langchain. Размер куски установлен на 400 символов, а перекрытие между кусочками установлено на 80 символов.
Класс OpenAIEmbeddings используется для создания встроений для кусков текста.
Функция FAISS.from_texts() используется для создания индекса FAISS из кусков текста и их вторжений. Это прокомментировано на данный момент.
Пользователю предлагается ввести вопрос о PDF с использованием функции st.text_input() .
Если введен вопрос, код извлекает документы из индекса FAISS, которые наиболее похожи на вопрос пользователя с использованием метода similarity_search() .
Класс OpenAI() используется для создания экземпляра API OpenAI.
Функция load_qa_chain() используется для создания цепочки с ответом на вопрос с использованием API OpenAI и типа цепочки «материал».
Контекст -диспетчер get_openai_callback() используется для захвата информации о вызове с API OPENAI.
Метод chain.run() используется для запуска цепочки с ответом на вопросы о входных документах и вопрос пользователя. Ответ напечатан.
Ответ отображается с использованием функции st.write() .
В целом, код в функции main() обрабатывает пользовательский интерфейс, обрабатывает загруженный файл PDF и выполняет задачу с вопросом, используя API OpenAI и библиотеку Langchain.