LangChain/LangGraph

LangChain/LangGraph

LLM Batch API에서 JSON Output 정의하는 방법: JSON Schema 트러블슈팅 가이드

OpenAI Batch API에서 JSON Output을 정의할 때 발생한 JSON Schema Strict Mode 오류에 대한 트러블슈팅을 기록하고자 합니다. BackgroundOpenAI GPT 모델을 Batch API로 호출할 때, 일관된 JSON 형태의 응답을 보장하기 위해 다음 설정을 사용하는 경우가 많다."response_format": { "type": "json_schema", "json_schema": { ... }, "strict": true} strict: true를 설정하면 LLM이 제공된 JSON Schema를 정확히 따르도록 강제한다. 이 모드는 출력 안정성을 크게 향상시키지만, 그만큼 스키마가 엄격한 형식 제약을 만족해야 한다. 하지만 실제로 Pydantic 모델에서 생..

LangChain/LangGraph

LLM Structured Output 비교: OpenAI vs Google GenAI, LangChain 파서 방식 정리

LLM Structured output vs prompt-template + parser 방식일반적인 LLM 응답 결과 파싱으로는 “prompt → LLM → raw text → parser → Python 객체” 방법이 있다.다른 방법으로는 스키가 기반 구조화된 출력 방식(structured output)이 있다. 전통 방식: prompt + output parser스키마 기반 방식: 구조화된 출력(structured output)각 방식의 장단점:전통 방식: 유연성, 파서 통제 → 하지만 파싱 에러, JSON invalid, 필드 누락 등 불안정성 가능스키마 방식: 안정성, 구조 보장 → 다만 지원하는 기능 제한, 스키마 정의 복잡, 일부 모델/SDK만 지원 GenAI vs OpenAI1. GenAI..

LangChain/LangGraph

LangGraph Interrupts와 Time Travel 기능 가이드: Human-in-the-Loop 활용 방법

https://docs.langchain.com/oss/python/langgraph/interruptsWhat is Interrupt?Interrupt는 LangGraph에서 그래프 실행을 특정 지점에서 일시 정지(pause)하고 외부 입력(Client Response)을 기다렸다가 다시 실행하기 위한 기능이다.Human-in-the-loop 기능을 LangGraph 내부에서 지원하는 기술이다. Why Interrupts are needed?LLM의 의사결정 중 사람의 검수/승인이 필요한 경우Tool 실행 전 최종 확인이 필요한 경우유효성 검사를 위해 사용자에게 반복 질문해야 하는 경우 Interrupt Flow그래프 실행 중단현재 State를 Checkpointer에 저장 (DB, MemorySave..

LangChain/LangGraph

AI JSON 응답 제어하기 - Pydantic, OpenAI Structured Output & Gemini Schema 제어

AI 모델 출력 포맷 완벽 가이드: OpenAI · Gemini 구조화 응답(Structured Output) 비교AI 모델을 실제 서비스에 적용하다 보면, 모델이 불완전한 JSON을 반환하거나, 필드가 빠진 응답을 내놓는 경우가 있었다. 이번 글에서는 OpenAI, Gemini API에서 정해진 구조(JSON / Typed Output)로 응답을 강제하는 방법을 정리하고자 합니다. Structured Output Mode - SDKOpenAI의 최신 SDK(gpt-4 모델 이상)에서는 response_format 파라미터로 모델의 출력 스키마를 직접 지정할 수 있다. ChatOpenAI( model="gpt-4o-mini", temperature=0.1, api_key=settings...

kylo
'LangChain/LangGraph' 카테고리의 글 목록