대형 언어 모델 API를 사용한 엔드 투 엔드 문서 질문 응용 프로그램.
참고 :이 프로젝트는 ChatPDF와 제휴하거나 승인되지 않습니다. 이것은 유사한 기능을 복제하려는 독립적 인 프로젝트입니다.
ChatPDF-Like는 사용자가 PDF 문서를 업로드하고 자연어 쿼리를 사용하여 상호 작용할 수있는 웹 응용 프로그램입니다. 이 응용 프로그램은 OpenAI의 GPT-3.5 터보와 같은 대형 언어 모델 (LLM)을 활용하여 PDF의 내용을 이해하고 사용자 질문에 대한 간결하고 정확한 답변을 제공합니다.
응용 프로그램은 다음과 같은 주요 단계를 따릅니다.
텍스트 추출 및 처리 :
PyPDF2 사용하여 구문 분석됩니다.임베딩 생성 :
text-embedding-ada-002 )을 사용하여 임베딩 벡터가 생성됩니다.사용자 쿼리 처리 :
유사성 검색 :
신속한 건축 :
답변 세대 :
응답 디스플레이 :
저장소를 복제하십시오
git clone https://github.com/Ulov888/chatpdflike.git
cd chatpdflike종속성을 설치하십시오
pip 사용하여 필요한 패키지를 설치합니다.
pip install -r requirements.txtOpenAi의 API를 사용하려면 :
OpenAI에서 API 키에 가입하십시오.
OPENAI_API_KEY 환경 변수 설정 :
export OPENAI_API_KEY= " your_openai_api_key "Ollama의 API를 사용하려면 (원하는 경우) :
Ollama에서 API 키를 얻으십시오.
OLLAMA_API_KEY 환경 변수 설정 :
export OLLAMA_API_KEY= " your_ollama_api_key " 응용 프로그램을 시작하십시오
플라스크 응용 프로그램 실행 :
python run.py 기본적으로 서버는 http://0.0.0.0:8080 에서 실행됩니다.
웹 인터페이스에 액세스하십시오
웹 브라우저를 열고 http://localhost:8080 으로 이동하십시오.
PDF 문서를 업로드하십시오
당신은 둘 중 하나를 할 수 있습니다 :
PDF와 상호 작용하십시오
답을 봅니다

언어 모델의 동작은 generate_embedding.py , 특히 Chatbot 클래스의 create_prompt 메소드에서 프롬프트 전략을 수정하여 사용자 정의 할 수 있습니다.
전략에는 다음이 포함됩니다.
전략을 선택하려면 create_prompt 호출 할 때 strategy 매개 변수를 수정할 수 있습니다.
응용 프로그램은 현재 일부 전략에 대해 중국어로 답변을 제공하도록 구성되어 있습니다. 프롬프트를 수정하여 언어를 변경하거나 모델의 동작을 조정할 수 있습니다.
PyPDF2 사용하여 모든 PDF를 완벽하게 처리하지 못할 수 있습니다. 비정상적인 형식을 갖는 복잡한 PDF는 제대로 구문 분석되지 않을 수 있습니다.기부금을 환영합니다! 제안이나 개선 사항이 있으면 문제를 제출하거나 요청을 제출하십시오.
이 프로젝트는 Apache 라이센스에 따라 라이센스가 부여됩니다.