개인 PDF 문서와 채팅하십시오.

파일 별로이 간소화 앱의 고위형 개요.
설치 지침으로 건너 뛰려면 여기를 클릭하십시오



Huxley.py main() 함수는 사용자 인터페이스를 처리하고 업로드 된 PDF 파일을 처리하는 데 도움이됩니다. 코드의 분석은 다음과 같습니다.
render_header() 함수는 호출되어 응용 프로그램의 헤더 섹션을 표시합니다. 제목, 설명 및 이미지가 포함됩니다.
sidebar() 함수는 응용 프로그램의 사이드 바 섹션을 표시하도록 호출됩니다. 여기에는 huxleypdf에 대한 정보, 사용 방법에 대한 지침 및 OpenAI API 키의 입력 필드가 포함되어 있습니다.
setup_environment() 함수는 환경을 설정하기 위해 호출됩니다. 현재 설정이 진행 중임을 나타내는 메시지 만 인쇄합니다.
st.file_uploader() 함수는 PDF 파일을 업로드하는 데 사용됩니다. 사용자는 "PDF를 업로드"하고 파일 유형 필터를 "PDF"로 설정 한 파일을 선택하라는 메시지가 표시됩니다.
그런 다음 코드는 구조화되지 않은 라이브러리에서 OnlinePDFLoader 클래스를 사용하여 원격 PDF 파일을 가져옵니다. 이것은 지금 댓글을 달았습니다.
PDF 파일이 업로드되면 코드는 PYMUPDF 라이브러리에서 PdfReader 클래스를 사용하여 PDF에서 텍스트를 추출합니다.
추출 된 텍스트는 Langchain 라이브러리의 CharacterTextSplitter 클래스를 사용하여 청크로 분할됩니다. 청크 크기는 400 자로 설정되며 청크 간의 중첩은 80 자로 설정됩니다.
OpenAIEmbeddings 클래스는 텍스트 청크에 대한 임베딩을 만드는 데 사용됩니다.
FAISS.from_texts() 함수는 텍스트 덩어리와 그 임베딩에서 faiss 색인을 만드는 데 사용됩니다. 이것은 지금 댓글을 달았습니다.
사용자는 st.text_input() 함수를 사용하여 PDF에 대한 질문을 입력하라는 메시지가 표시됩니다.
질문이 입력되면 코드는 similarity_search() 메소드를 사용하여 사용자의 질문과 가장 유사한 FAISS 인덱스에서 문서를 검색합니다.
OpenAI() 클래스는 OpenAI API의 인스턴스를 만드는 데 사용됩니다.
load_qa_chain() 함수는 OpenAI API 및 "Stuff"체인 유형을 사용하여 질문 응답 체인을 만드는 데 사용됩니다.
get_openai_callback() 컨텍스트 관리자는 OpenAI API에서 콜백 정보를 캡처하는 데 사용됩니다.
chain.run() 메소드는 입력 문서와 사용자 질문에서 질문 응답 체인을 실행하는 데 사용됩니다. 응답이 인쇄됩니다.
응답은 st.write() 함수를 사용하여 표시됩니다.
전반적으로 main() 함수 내의 코드는 사용자 인터페이스를 처리하고 업로드 된 PDF 파일을 처리하며 OpenAI API 및 Langchain 라이브러리를 사용하여 질문 응답 작업을 수행합니다.