주:

OCI Generative AI로 자연어로 PDF 문서 분석하기

소개

Oracle Cloud Infrastructure Generative AI(OCI Generative AI)는 기업 및 개발자가 최첨단 언어 모델을 사용하여 지능형 애플리케이션을 생성할 수 있는 첨단 생성형 인공 지능 솔루션입니다. 이 솔루션은 LLM(대형 언어 모델)과 같은 강력한 기술을 기반으로 복잡한 작업을 자동화하여 자연어 상호 작용을 통해 프로세스를 더 빠르고 효율적이며 액세스할 수 있도록 합니다.

OCI Generative AI의 가장 영향력 있는 애플리케이션 중 하나는 PDF 문서 분석입니다. 기업은 종종 계약, 재무 보고서, 기술 설명서, 연구 문서 등 대량의 문서를 처리합니다. 이러한 파일에서 정보를 수동으로 검색하려면 시간이 많이 걸리고 오류가 발생하기 쉽습니다.

생성형 인공 지능을 사용하면 정보를 즉각적이고 정확하게 추출할 수 있으므로 사용자가 자연어로 질문을 작성하여 복잡한 문서를 간단히 쿼리할 수 있습니다. 즉, 계약의 특정 조항이나 보고서의 관련 데이터 포인트를 찾기 위해 전체 페이지를 읽는 대신 사용자가 모델에 물어볼 수 있으며 분석된 콘텐츠를 기반으로 답변을 빠르게 반환합니다.

또한 정보 검색 외에도 긴 문서를 요약하고, 콘텐츠를 비교하고, 정보를 분류하고, 전략적 인사이트를 생성하는 데 OCI Generative AI를 사용할 수 있습니다. 이러한 기능은 법률, 재무, 의료 및 엔지니어링과 같은 다양한 분야에 필수적인 기술을 만들어 의사 결정을 최적화하고 생산성을 높입니다.

이 기술을 Oracle AI 서비스, OCI Data Science, 문서 처리를 위한 API 등의 도구와 통합함으로써 기업은 데이터와의 상호 작용 방식을 완전히 혁신하는 지능형 솔루션을 구축하여 정보 검색을 더욱 빠르고 효과적으로 수행할 수 있습니다.

필수 조건

작업 1: Python 패키지 설치

Python 코드에는 OCI Generative AI를 사용하기 위한 특정 라이브러리가 필요합니다. 필요한 Python 패키지를 설치하려면 다음 명령을 실행하십시오.

pip install -r requirements.txt

작업 2: Python 코드 이해

Oracle SOA Suite 및 Oracle Integration의 기능 쿼리를 위한 OCI Generative AI 데모입니다. 두 도구 모두 현재 하이브리드 통합 전략에 사용되고 있으며 이는 클라우드 및 온프레미스 환경에서 모두 운영된다는 것을 의미합니다.

이러한 도구는 기능과 프로세스를 공유하므로 이 코드는 각 도구에서 동일한 통합 접근 방식을 구현하는 방법을 이해하는 데 도움이 됩니다. 또한 사용자가 일반적인 특성과 차이점을 탐색할 수 있습니다.

여기에서 Python 코드를 다운로드하십시오.

PDF 문서는 여기에서 찾을 수 있습니다:

Manuals이라는 폴더를 생성하고 이 PDF를 이동합니다.

이제 3가지 옵션을 선택하여 문서를 처리할 수 있습니다. 당신은 생각할 수 있습니다 :

따라서 다음 옵션을 사용할 수 있습니다.

고정 크기 조각화: 문서 처리에 대한 보다 빠른 대안입니다. 그것은 당신이 원하는 것을 얻을 수 있습니다.

의미 조각화: 이 프로세스는 고정 크기 조각화보다 느리지만 품질 조각화가 더 많이 전달됩니다.

GraphRAG를 사용한 의미 조각화: 조각화 텍스트 및 지식 그래프를 구성하기 때문에 보다 정확한 방법을 제공합니다.

고정 크기 조각화

oci_genai_llm_context_fast.py에서 코드를 다운로드합니다.

의미 조각화

oci_genai_llm_context.py에서 코드를 다운로드합니다.

GraphRAG를 사용한 의미 조각화

oci_genai_llm_graphrag.py에서 코드를 다운로드합니다.

GraphRAG(그래프 증강 검색 증강 생성)은 기존의 벡터 기반 검색과 구조화된 지식 그래프를 결합한 고급 AI 아키텍처입니다. 표준 RAG 파이프라인에서 언어 모델은 벡터 데이터베이스(예: FAISS)의 의미적 유사성을 사용하여 관련 문서 청크를 검색합니다. 그러나 벡터 기반 검색은 임베딩 및 거리 측정 지표에만 의존하여 구조화되지 않은 방식으로 작동하므로 더 깊은 상황별 또는 관계형 의미를 놓칠 수 있습니다.

GraphRAG는 엔티티, 개념, 구성요소 및 해당 관계가 노드 및 모서리로 명시적으로 표시되는 지식 그래프 계층을 도입하여 이 프로세스를 향상시킵니다. 이 그래프 기반 context를 사용하면 언어 모델이 벡터 유사성만으로는 캡처할 수 없는 관계, 계층 및 종속성에 대해 추론할 수 있습니다.

참고:

Neo4j 사용법:

이 구현에서는 데모 및 프로토타이핑을 위해 Neo4j를 내장된 지식 그래프 데이터베이스로 사용합니다. Neo4j는 개발, 테스트 및 중소, 중견 워크로드에 적합한 강력하고 유연한 그래프 데이터베이스이지만, 특히 고가용성, 확장성 및 고급 보안 준수가 필요한 환경에서 엔터프라이즈급, 미션 크리티컬 또는 고도의 보안 워크로드에 대한 요구사항을 충족하지 못할 수 있습니다.

운용 환경 및 엔터프라이즈 시나리오의 경우 다음을 제공하는 그래프 기능과 함께 Oracle Database를 활용하는 것이 좋습니다.

조직은 그래프 워크로드에 Oracle Database를 사용하여 안전하고 확장 가능한 단일 엔터프라이즈 플랫폼 내에서 정형, 반구조적 및 그래프 데이터를 통합할 수 있습니다.

작업 3: Oracle Integration 및 Oracle SOA Suite 콘텐츠에 대한 질의 실행

다음 명령을 실행합니다.

FOR FIXED CHUNKING TECHNIQUE (MORE FASTER METHOD)
python oci_genai_llm_context_fast.py --device="mps" --gpu_name="M2Max GPU 32 Cores"
FOR SEMANTIC CHUNKING TECHNIQUE
python oci_genai_llm_context.py --device="mps" --gpu_name="M2Max GPU 32 Cores"
FOR SEMANTIC CHUNKING COMBINED WITH GRAPHRAG TECHNIQUE
python oci_genai_llm_graphrag.py --device="mps" --gpu_name="M2Max GPU 32 Cores"

주: --device--gpu_name 매개변수는 머신에 GPU가 있는 경우 GPU를 사용하여 Python의 처리를 가속화하는 데 사용할 수 있습니다. 이 코드는 로컬 모델에서도 사용할 수 있습니다.

제공된 컨텍스트는 Oracle SOA Suite와 Oracle Integration을 구분하며, 다음 사항을 고려하여 코드를 테스트할 수 있습니다.

문서를 올바르게 해석하는 데 큰 도움이 되는 다음 컨텍스트를 정의할 수 있습니다.

img_7.png

다음 이미지는 Oracle SOA Suite와 Oracle Integration 간의 비교 예제를 보여줍니다.

img.png

다음 단계

이 코드는 지능형 PDF 분석을 위한 OCI Generative AI의 적용을 보여줍니다. 사용자는 의미 검색 및 생성형 AI 모델을 사용하여 대량의 문서를 효율적으로 쿼리하여 정확한 자연어 응답을 생성할 수 있습니다.

이러한 접근 방식은 법률, 규정 준수, 기술 지원 및 학술 연구와 같은 다양한 분야에 적용될 수 있으므로 정보 검색이 훨씬 빠르고 스마트해집니다.

승인

추가 학습 자원

docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.