외부 API

Upstage AI

swotato 2025. 9. 3. 14:17

참고

개발 환경

  • python
  • langchain
$ pip3 install openai
$ pip3 install -qU langchain-core langchain-upstage

API request/response

https://platform.openai.com/docs/api-reference/chat/object

채팅

https://console.upstage.ai/docs/capabilities/chat

예시 코드

from langchain_upstage import ChatUpstage
from langchain_core.messages import HumanMessage
from pprint import pprint

chat = ChatUpstage(api_key="up_is0VHGYOTcji5YD8bkw1EYBOvOeaM", model="solar-pro")
 
messages = [
    HumanMessage(
        content="안녕하세요. 오늘 날씨가 어때요?"
    )
]
 
response = chat.invoke(messages)
pprint(response)

##### 결과
AIMessage(content='안녕하세요! 오늘은 대체로 맑고 화창한 날씨입니다. 기온은 적당히 따뜻하며, 바람이 약하게 불어서 외출하기 좋은 날씨입니다. 하지만 지역에 따라 약간의 차이가 있을 수 있으니, 외출 전에 최신 일기 예보를 확인하는 것도 좋을 것 같습니다. 즐거운 하루 보내세요!', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 63, 'prompt_tokens': 19, 'total_tokens': 82, 'completion_tokens_details': None, 'prompt_tokens_details': None}, 'model_name': 'solar-pro-250422', 'system_fingerprint': None, 'id': 'ebe4b165-da65-4d43-a265-dc67a3ca7cda', 'finish_reason': 'stop', 'logprobs': None}, id='run-ea9428f4-794f-4bec-be83-1ddf66732a90-0', usage_metadata={'input_tokens': 19, 'output_tokens': 63, 'total_tokens': 82, 'input_token_details': {}, 'output_token_details': {}})

문서 디지털화

  • 정보 검색, 요약 등의 후속 작업을 위해 문서를 기계가 읽을 수 있는 형식(텍스트, HTML 또는 마크다운 등)으로 변환하는 과정

Document Parser

요구 사항

  • 지원되는 파일 형식: JPEG, PNG, BMP, PDF, TIFF, HEIC, DOCX, PPTX, XLSX, HWP, HWPX
  • 최대 파일 크기: 50MB
  • 파일당 최대 페이지 수:
    • 동기 API: 100페이지 (100페이지를 초과하는 파일의 경우 처음 100페이지만 처리)
    • 비동기 API: 1,000페이지
  • 페이지당 최대 픽셀 수: 2억 픽셀. (이미지 파일이 아닌 경우, 픽셀 수는 문서를 150 DPI 이미지로 변환한 후 결정됩니다.)
  • 지원되는 문자 집합(OCR 사용 시): 영숫자, 한글, 한자(일부)

문서 OCR

요구 사항

  • 지원되는 파일 형식: JPEG, PNG, BMP, PDF, TIFF, HEIC, DOCX, PPTX, XLSX
  • 최대 파일 크기: 50MB
  • 파일당 최대 페이지 수: 30페이지
  • 페이지당 최대 픽셀 수: 2억 픽셀. 이미지 파일이 아닌 경우, 픽셀 수는 150 DPI 표준 이미지로 변환한 후 결정됩니다.
  • 지원되는 문자 집합: 지원되는 문자 집합: 영숫자, 한글, 한자(일부)
  • 텍스트 크기: 페이지 크기의 약 30% 미만인 텍스트 크기에 최적화되어 있습니다. 이러한 기준을 충족하지 않는 예시는 부적절한 예시로 간주되어 응답 오류가 발생할 수 있습니다.

문서 정보화 (정보 추출)

  • 구조화되지 않은 문서에서 핵심 정보를 식별하고 추출하는 과정.
  • 단순한 문서 디지털화를 넘어, 데이터베이스와 같은 구조화된 형식으로 정보를 저장하는 것을 목적으로 한다.
  • Upstage Information Extract는 비정형 문서에서 정형화된 정보를 추출하도록 설계된 강력한 AI 제품입니다. PDF, MS Office 파일, 이미지 등 다양한 문서를 JSON 키-값 쌍으로 변환합니다.

범용 정보 추출 (universal information extraction)

  • 범용 정보 추출은 모든 문서 유형에서 핵심 정보를 추출한다.
  • 특정 문서 유형에 맞춰 세부 조정이 필요한 사전 구축된 정보 추출 기능 과 달리, 범용 정보 추출 기능은 추가 학습이나 사용자 지정 없이 모든 무작위 문서에서 핵심 정보를 처리하고 추출함.
  • 숨겨진 정보 및 암시된 정보 추출: 명시적으로 언급된 정보뿐만 아니라 암시적이거나 추론된 값도 추출할 수 있습니다. 예를 들어 여러 항목의 총 금액을 결정하거나 문서에 직접 레이블이 지정되지 않은 주요 세부 정보를 식별할 수 있습니다
  • 미세 조정이 필요 없습니다: 사전 정의된 템플릿이나 추가 모델 학습 없이 관련 데이터를 추출합니다.
  • 모든 문서 유형과 호환: 복잡한 PDF, 스캔한 이미지, Microsoft Office 문서를 지원하여 다양한 형식에서 원활한 데이터 추출을 보장합니다.
  • 스키마에 구애받지 않는 처리: 주어진 스키마에 따라 구조화된 출력을 동적으로 처리하고 생성하여 다양한 사용 사례에 맞게 주문형 사용자 정의가 가능합니다.

입력 요구 사항

  • 지원되는 파일 형식: JPEG, PNG, BMP, PDF, TIFF, HEIC, DOCX, PPTX, XLSX
  • 최대 파일 크기: 50MB
  • 파일당 최대 페이지 수: 100페이지
  • 페이지당 최대 픽셀 수: 2억 픽셀. (이미지 파일이 아닌 경우, 픽셀 수는 문서를 150 DPI 이미지로 변환한 후 결정됩니다.)
  • 지원되는 문자 집합(OCR 사용 시): 영숫자, 한글, 한자(일부)

사전 구축된 정보 추출 (prebuilt information extraction)

  • 범용 정보 추출 모델과 달리 사전 구축 정보 추출기는 특정 문서 형식에 맞춰 미세 조정 된다.
  • 특정 문서 유형 내에서 사전 정의된 핵심 정보를 식별하고 추출하는 데 탁월하다.
  • 반적으로 약 90~95%의 높은 정확도를 달성한다. 이는 송장, 영수증, 계약서, 양식, 재무 보고서와 같이 금전적 가치가 있는 문서를 처리하는 데 적합하다. (이러한 문서에서는 프로세스 자동화를 위해 정확한 정보 수집이 필수적이다.)
  • 실제 문서에 대한 높은 견고성: 회전된 이미지, 워터마크, 노이즈, 체크박스 등 까다로운 문서 조건을 처리하여 불완전하거나 품질이 낮은 입력에도 안정적인 성능을 보장한다.

입력 요구 사항

  • 지원되는 파일 형식: JPEG, PNG, BMP, PDF, TIFF, HEIC, DOCX, PPTX, XLSX
  • 최대 파일 크기: 50MB
  • 파일당 최대 페이지 수: 30페이지 (30페이지를 초과하는 파일의 경우 처음 30페이지만 처리됩니다)
  • 페이지당 최대 픽셀 수: 1억 픽셀. 이미지 파일이 아닌 경우, 픽셀 수는 150 DPI 표준 이미지로 변환한 후 결정됩니다.
  • 지원되는 문자 집합: 영숫자, 한글, 한자(일부)

'외부 API' 카테고리의 다른 글

[Kakao 챗봇] 4. 챗봇 구현 일지  (0) 2025.09.03
[Kakao 챗봇] 3. 스킬 개발  (0) 2025.09.03
[Kakao 챗봇] 2. 챗봇 관리  (0) 2025.09.03
[Kakao 챗봇] 1. 주요 개념, 메모  (0) 2025.09.03