비즈니스의 미래를 선도하는 인공지는 솔루션
비즈니스 고민을 해결할 생성형 AI 모델이 필요하신가요?

업스테이지의 AI전문가와 함께 시작하세요!

LangChain, LlamaIndex 에서 업스테이지 제품들을 더 쉽게 사용하실 수 있도록 업데이트 되었습니다.

1. LangChain 주요 업데이트 사항

  1. Python 3.8 버전 지원이 종료되었습니다.
  2. Chat 에서 Solar Pro 2 모델을 이용하실 수 있습니다. 또한 새로 추가된 파라미터들도 사용하실 수 있습니다.
  3. Document Parse 에서 chart_recognition 파라미터를 사용하실 수 있습니다.
  • chart_recognition 파라미터는 차트 인식 사용 여부를 나타내는 boolean 값입니다. true로 설정할 시 차트 인식률이 올라갑니다. Default 값은 true입니다.
  1. Groundedness Check 에서 temperature 파라미터를 사용하실 수 있습니다.
  • 출력의 무작위성을 제어하는 파라미터로, 값이 클수록(예: 0.8) 출력의 무작위성이 높아지고, 값이 작을수록(예: 0.2) 출력의 집중도와 결정성이 높아집니다. Default 값은 0.7입니다.
  1. 이제 Information Extract 제품을 Langchain에서도 만나보실 수 있습니다.
  • Information Extraction 이란 단순히 문서를 디지털화하는 것을 넘어서, 비정형 문서(unstructured documents)에서 핵심 정보를 식별하고 추출하여, 그 중요한 정보들을 데이터베이스와 같은 정형화된 형식(structured formats)으로 저장하는 과정을 의미합니다.
  • Universal Information Extraction 는 범용 문서 정보 추출 기술로 이전에 본 적 없는 어떤 종류의 문서에서도 추가적인 학습이나 맞춤 설정(customization) 없이 핵심 정보를 추출할 수 있는 매우 유연하고 강력한 기술입니다.
    • Universal information extraction을 사용하면 ‘정형화되지 않은 문서’도 정보를 추출할 수 있습니다.
from langchain_upstage import UpstageUniversalInformationExtraction

information_extraction = UpstageUniversalInformationExtraction(api_key="your_api_key")

response = information_extraction.extract(
    image_urls=["./bank_statement.png"], # 원하시는 파일 경로를 작성해주시면 됩니다.
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "document_schema",
            "schema": {
                "type": "object",
                "properties": {
                    "bank_name": {
                        "type": "string",
                        "description": "The name of bank in bank statement"
                    }
                }
            }
        }
    }
)

print(response)
  • 만약 출력에 필요한 response_format 을 어떻게 작성해야 할 지 감이 안오시는 경우 schema_generation 을 통해 자동으로 추출하실 수도 있습니다.
from langchain_upstage import UpstageUniversalInformationExtraction
 
information_extraction = UpstageUniversalInformationExtraction(
    api_key="your_api_key"
)
 
response = information_extraction.schema_generation(
    image_urls=["./bank_statement.png"], # 원하시는 파일 경로를 작성해주시면 됩니다.
)
 
print(response)
  • 이 둘을 합쳐서 더 간단하게 구성하실 수도 있습니다.
from langchain_upstage import UpstageUniversalInformationExtraction
 
information_extraction = UpstageUniversalInformationExtraction(
    api_key="your_api_key"
)

image_urls=["./bank_statement.png"], # 원하시는 파일 경로를 작성해주시면 됩니다.
 
response_format = information_extraction.schema_generation(
    image_urls=image_urls,
)
 
response = information_extraction.extract(
    image_urls=image_urls,
    response_format=response_format,
)

print(response)
  • Prebuilt Information Extraction 은 사전 구축형 정보 추출 기술로, 특정 종류의 문서에서 원하는 정보를 즉시 추출할 수 있도록 미리 학습되고 만들어진 AI 모델 또는 솔루션을 의미합니다. 사용자가 직접 AI 모델을 개발하거나 데이터를 모아 학습시킬 필요 없이, 이미 완성된 제품을 바로 가져다 쓰는 개념입니다.
    • 학습된 모델 종류는 다음과 같습니다.
타입 alias(모델명)
Air waybill air-waybill-extraction
Bill of lading bill-of-lading-and-shipping-request-extraction
Shipping request bill-of-lading-and-shipping-request-extraction
Commercial invoice commercial-invoice-and-packing-list-extraction
Packing list commercial-invoice-and-packing-list-extraction
수출신고필증 kr-export-declaration-certificate-extraction

  • 문서 추출은 다음과 같이 손쉽게 구성할 수 있습니다.
from langchain_upstage import UpstagePrebuiltInformationExtraction
 
api_key = "your_api_key"
file_name = "your_file_name" # 원하시는 파일 경로를 작성해주시면 됩니다.
model = "model_name_what_you_want" # 위에 명시된 모델명 입력해주시면 됩니다.
 
information_extraction = UpstagePrebuiltInformationExtraction(api_key=api_key), model=model)
 
response = information_extraction.extract(
     filename=file_name,
)
 
print(response)

LlamaIndex 주요 업데이트 사항

  • Chat 에서 Solar Pro 2를 이용하실 수 있습니다.
  • Chattop_p, frequency_penalty, presence_penalty, response_format 파라미터를 사용하실 수 있습니다.
llm = Upstage(
    api_key="your_api_key",
    model="solar-pro2",

    top_p=0.8,
    frequency_penalty=2,
    presence_penalty=2,
    response_format={
		    "type": "json_object",
		}
)

response = llm.chat(
    messages=[
        ChatMessage(role="user", content="원하는 메시지를 여기에 적어보세요!")
    ],
)

print(response)
  • top_p
    • 핵 샘플링(Nucleus Sampling)을 활성화하는 선택적 매개변수입니다. 모델이 다음 단어를 예측할 때, 가능한 모든 단어 중에서 확률이 높은 순서대로 후보를 정합니다. 이 후보들의 누적 확률의 합이 해당 값에 도달할 때까지만 고려하는 방식입니다.
    • 낮은 값 (예: 0.1): 매우 가능성이 높은 단어들만 사용하므로, 더 예측 가능하고 일관된 문장이 생성됩니다.
    • 높은 값 (예: 1): 더 많은 단어들이 후보가 되므로, 더 다양하고 창의적인 문장이 생성될 수 있습니다.
  • frequency_penalty
    • 이미 생성된 텍스트에서 특정 단어(토큰)가 얼마나 자주 등장했는지에 따라 페널티를 부과하는 매개변수입니다.
    • 양수 값 (예: 0.5): 모델이 이미 많이 사용한 단어를 다시 사용할 확률을 낮춥니다. "그리고... 그리고... 그리고..." 와 같은 반복을 줄이고 더 다양한 어휘를 사용하도록 유도합니다.
    • 음수 값: 반대로 특정 단어를 더 자주 사용하도록 유도할 수 있습니다.
  • presence_penalty
    • 텍스트에 특정 단어(토큰)가 한 번이라도 등장했는지 여부에 따라 페널티를 부과하는 매개변수입니다. frequency_penalty가 단어의 '빈도'에 따라 페널티를 조절하는 것과 달리, presence_penalty는 단어의 '출현 유무' 자체에만 영향을 줍니다.
    • 양수 값 (예: 0.5): 이미 한 번이라도 언급된 단어는 다시 사용할 확률이 낮아집니다. 이를 통해 모델이 새로운 주제나 개념을 더 적극적으로 도입하도록 장려할 수 있습니다.
    • 음수 값: 반대로 이미 언급된 주제나 단어에 더 집중하도록 유도할 수 있습니다.
  • response_format
    • 모델이 생성하는 응답의 출력 형식을 지정하는 객체(object)입니다.
    • 이 매개변수를 사용하면 모델의 출력을 일반 텍스트가 아닌, JSON 형식과 같이 특정 구조를 가진 형식으로 강제할 수 있습니다. 예를 들어, {'type': 'json_object'} 와 같이 설정하면, 모델은 반드시 유효한 JSON 형식의 텍스트를 출력합니다.
    • 애플리케이션에서 모델의 응답을 기계적으로 처리(파싱)해야 할 때 매우 유용합니다.
  • Chatreasoning_effort 파라미터가 정상적으로 적용되도록 수정되었습니다.

LangChain, LlamaIndex 최신 버전 업데이트

Jooho Kim
Jooho Kim
Products
August 29, 2025
LangChain, LlamaIndex 최신 버전 업데이트
비즈니스의 미래를 선도하는 인공지는 솔루션
비즈니스 고민을 해결할 생성형 AI 모델이 필요하신가요?

업스테이지의 AI전문가와 함께 시작하세요!
비즈니스의 미래를 선도하는 인공지는 솔루션
비즈니스 고민을 해결할 생성형 AI 모델이 필요하신가요?

업스테이지의 AI전문가와 함께 시작하세요!

LangChain, LlamaIndex 에서 업스테이지 제품들을 더 쉽게 사용하실 수 있도록 업데이트 되었습니다.

1. LangChain 주요 업데이트 사항

  1. Python 3.8 버전 지원이 종료되었습니다.
  2. Chat 에서 Solar Pro 2 모델을 이용하실 수 있습니다. 또한 새로 추가된 파라미터들도 사용하실 수 있습니다.
  3. Document Parse 에서 chart_recognition 파라미터를 사용하실 수 있습니다.
  • chart_recognition 파라미터는 차트 인식 사용 여부를 나타내는 boolean 값입니다. true로 설정할 시 차트 인식률이 올라갑니다. Default 값은 true입니다.
  1. Groundedness Check 에서 temperature 파라미터를 사용하실 수 있습니다.
  • 출력의 무작위성을 제어하는 파라미터로, 값이 클수록(예: 0.8) 출력의 무작위성이 높아지고, 값이 작을수록(예: 0.2) 출력의 집중도와 결정성이 높아집니다. Default 값은 0.7입니다.
  1. 이제 Information Extract 제품을 Langchain에서도 만나보실 수 있습니다.
  • Information Extraction 이란 단순히 문서를 디지털화하는 것을 넘어서, 비정형 문서(unstructured documents)에서 핵심 정보를 식별하고 추출하여, 그 중요한 정보들을 데이터베이스와 같은 정형화된 형식(structured formats)으로 저장하는 과정을 의미합니다.
  • Universal Information Extraction 는 범용 문서 정보 추출 기술로 이전에 본 적 없는 어떤 종류의 문서에서도 추가적인 학습이나 맞춤 설정(customization) 없이 핵심 정보를 추출할 수 있는 매우 유연하고 강력한 기술입니다.
    • Universal information extraction을 사용하면 ‘정형화되지 않은 문서’도 정보를 추출할 수 있습니다.
from langchain_upstage import UpstageUniversalInformationExtraction

information_extraction = UpstageUniversalInformationExtraction(api_key="your_api_key")

response = information_extraction.extract(
    image_urls=["./bank_statement.png"], # 원하시는 파일 경로를 작성해주시면 됩니다.
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "document_schema",
            "schema": {
                "type": "object",
                "properties": {
                    "bank_name": {
                        "type": "string",
                        "description": "The name of bank in bank statement"
                    }
                }
            }
        }
    }
)

print(response)
  • 만약 출력에 필요한 response_format 을 어떻게 작성해야 할 지 감이 안오시는 경우 schema_generation 을 통해 자동으로 추출하실 수도 있습니다.
from langchain_upstage import UpstageUniversalInformationExtraction
 
information_extraction = UpstageUniversalInformationExtraction(
    api_key="your_api_key"
)
 
response = information_extraction.schema_generation(
    image_urls=["./bank_statement.png"], # 원하시는 파일 경로를 작성해주시면 됩니다.
)
 
print(response)
  • 이 둘을 합쳐서 더 간단하게 구성하실 수도 있습니다.
from langchain_upstage import UpstageUniversalInformationExtraction
 
information_extraction = UpstageUniversalInformationExtraction(
    api_key="your_api_key"
)

image_urls=["./bank_statement.png"], # 원하시는 파일 경로를 작성해주시면 됩니다.
 
response_format = information_extraction.schema_generation(
    image_urls=image_urls,
)
 
response = information_extraction.extract(
    image_urls=image_urls,
    response_format=response_format,
)

print(response)
  • Prebuilt Information Extraction 은 사전 구축형 정보 추출 기술로, 특정 종류의 문서에서 원하는 정보를 즉시 추출할 수 있도록 미리 학습되고 만들어진 AI 모델 또는 솔루션을 의미합니다. 사용자가 직접 AI 모델을 개발하거나 데이터를 모아 학습시킬 필요 없이, 이미 완성된 제품을 바로 가져다 쓰는 개념입니다.
    • 학습된 모델 종류는 다음과 같습니다.
타입 alias(모델명)
Air waybill air-waybill-extraction
Bill of lading bill-of-lading-and-shipping-request-extraction
Shipping request bill-of-lading-and-shipping-request-extraction
Commercial invoice commercial-invoice-and-packing-list-extraction
Packing list commercial-invoice-and-packing-list-extraction
수출신고필증 kr-export-declaration-certificate-extraction

  • 문서 추출은 다음과 같이 손쉽게 구성할 수 있습니다.
from langchain_upstage import UpstagePrebuiltInformationExtraction
 
api_key = "your_api_key"
file_name = "your_file_name" # 원하시는 파일 경로를 작성해주시면 됩니다.
model = "model_name_what_you_want" # 위에 명시된 모델명 입력해주시면 됩니다.
 
information_extraction = UpstagePrebuiltInformationExtraction(api_key=api_key), model=model)
 
response = information_extraction.extract(
     filename=file_name,
)
 
print(response)

LlamaIndex 주요 업데이트 사항

  • Chat 에서 Solar Pro 2를 이용하실 수 있습니다.
  • Chattop_p, frequency_penalty, presence_penalty, response_format 파라미터를 사용하실 수 있습니다.
llm = Upstage(
    api_key="your_api_key",
    model="solar-pro2",

    top_p=0.8,
    frequency_penalty=2,
    presence_penalty=2,
    response_format={
		    "type": "json_object",
		}
)

response = llm.chat(
    messages=[
        ChatMessage(role="user", content="원하는 메시지를 여기에 적어보세요!")
    ],
)

print(response)
  • top_p
    • 핵 샘플링(Nucleus Sampling)을 활성화하는 선택적 매개변수입니다. 모델이 다음 단어를 예측할 때, 가능한 모든 단어 중에서 확률이 높은 순서대로 후보를 정합니다. 이 후보들의 누적 확률의 합이 해당 값에 도달할 때까지만 고려하는 방식입니다.
    • 낮은 값 (예: 0.1): 매우 가능성이 높은 단어들만 사용하므로, 더 예측 가능하고 일관된 문장이 생성됩니다.
    • 높은 값 (예: 1): 더 많은 단어들이 후보가 되므로, 더 다양하고 창의적인 문장이 생성될 수 있습니다.
  • frequency_penalty
    • 이미 생성된 텍스트에서 특정 단어(토큰)가 얼마나 자주 등장했는지에 따라 페널티를 부과하는 매개변수입니다.
    • 양수 값 (예: 0.5): 모델이 이미 많이 사용한 단어를 다시 사용할 확률을 낮춥니다. "그리고... 그리고... 그리고..." 와 같은 반복을 줄이고 더 다양한 어휘를 사용하도록 유도합니다.
    • 음수 값: 반대로 특정 단어를 더 자주 사용하도록 유도할 수 있습니다.
  • presence_penalty
    • 텍스트에 특정 단어(토큰)가 한 번이라도 등장했는지 여부에 따라 페널티를 부과하는 매개변수입니다. frequency_penalty가 단어의 '빈도'에 따라 페널티를 조절하는 것과 달리, presence_penalty는 단어의 '출현 유무' 자체에만 영향을 줍니다.
    • 양수 값 (예: 0.5): 이미 한 번이라도 언급된 단어는 다시 사용할 확률이 낮아집니다. 이를 통해 모델이 새로운 주제나 개념을 더 적극적으로 도입하도록 장려할 수 있습니다.
    • 음수 값: 반대로 이미 언급된 주제나 단어에 더 집중하도록 유도할 수 있습니다.
  • response_format
    • 모델이 생성하는 응답의 출력 형식을 지정하는 객체(object)입니다.
    • 이 매개변수를 사용하면 모델의 출력을 일반 텍스트가 아닌, JSON 형식과 같이 특정 구조를 가진 형식으로 강제할 수 있습니다. 예를 들어, {'type': 'json_object'} 와 같이 설정하면, 모델은 반드시 유효한 JSON 형식의 텍스트를 출력합니다.
    • 애플리케이션에서 모델의 응답을 기계적으로 처리(파싱)해야 할 때 매우 유용합니다.
  • Chatreasoning_effort 파라미터가 정상적으로 적용되도록 수정되었습니다.