랭체인이란 무엇인가요?
LangChain은 LLM 기반 채팅, 검색, 워크플로 및 에이전트 경험을 구축하기 위한 애플리케이션 프레임워크입니다.
이 LangChain 가이드는 TokenHub 호환 API 기반과 유지 관리되는 langchain-openai 통합을 구성합니다. 먼저 기본 호출 경로를 테스트한 다음 스트리밍, 구조화된 출력 또는 앱에 필요한 기능에 대한 도구를 검증하세요. 최소 ChatOpenAI 호출은 기본 연결을 확인하지만 프로덕션 애플리케이션에서 사용되는 모든 기능의 유효성을 검사하지는 않습니다. 스트리밍, 구조화된 출력, 도구 바인딩, 재시도 및 시간 초과를 독립적으로 테스트한 다음 선택한 TokenHub 모델이 워크플로에 필요한 기능을 통과한 후에만 검색, 체인 또는 에이전트를 추가하세요.
OpenAI를 위한 LangChain의 공식 Python 통합은 별도의 langchain-openai 패키지에 있습니다. 사용자 정의 base_url를 ChatOpenAI에 전달하여 TokenHub를 연결합니다. 이는 코드 통합입니다. 앱 설정 화면이 없습니다.
1단계: 공식 통합 패키지 설치
pip install -U langchain-openaiuv에서 관리하는 프로젝트의 경우 uv add langchain-openai를 사용하세요. 기본 langchain 패키지만 설치하면 ChatOpenAI가 제공되지 않습니다.
2단계: TokenHub에 대해 명시적으로 ChatOpenAI를 인스턴스화합니다.
export TOKENHUB_API_KEY="sk-..."import os
from langchain_openai import ChatOpenAI
model = ChatOpenAI(
base_url="__API_BASE_URL__/v1",
api_key=os.environ["TOKENHUB_API_KEY"],
model="YOUR_TOKENHUB_MODEL_ID",
timeout=60,
max_retries=2,
)
response = model.invoke("Reply with one sentence to confirm the connection.")
print(response.content)기본 URL 확인은 생성자의 base_url / openai_api_base, OPENAI_API_BASE, 기본 SDK의 OPENAI_BASE_URL를 선호합니다. 이를 전달하면 프로젝트 환경의 이전 OpenAI URL가 TokenHub를 재정의하는 것을 명시적으로 방지할 수 있습니다.
3단계: 한 번에 하나의 기능 확인
- 먼저 정상적인 채팅 완료를 확인하려면 최소
invoke호출을 실행하세요. - 기본 호출이 작동하는 경우에만
stream를 추가하세요.OPENAI_BASE_URL가 타사 엔드포인트를 가리키는 경우 LangChain는stream_usage를 자동으로 활성화하지 않습니다. TokenHub 모델 및 엔드포인트가 스트리밍 사용을 지원하는 경우에만stream_usage=True를 설정하십시오. - 에이전트의 경우 하나의 최소 도구를
bind_tools와 바인딩하고 반환된 개체에서tool_calls를 검사합니다. 단지 호출을 도구 호출로 설명하는 텍스트를 처리하지 마십시오. - 해당 레이어가 작동한 후에만 구조화된 출력, 이미지 및 추론을 테스트하세요.
ChatOpenAI는 OpenAI API 사양의 필드를 명시적으로 대상으로 합니다. reasoning_content, reasoning 또는 reasoning_details와 같은 공급자별 확장은 추출되거나 보존되지 않을 수 있습니다. 성공적인 텍스트 응답은 해당 확장이 작동한다는 것을 증명하지 않습니다.
실패한 LangChain 레이어 문제 해결
- 가져오기 실패:
langchain-openai가 설치되었는지 확인하세요. - 404:
/v1를 포함하여 유효한base_url를 검사하고 환경 변수 재정의를 확인합니다. - 모델 오류:
model에서 전체 TokenHub 모델 ID를 사용하세요. - 스트리밍 텍스트는 작동하지만 사용법이 없습니다.
stream_usage를 검사하고 엔드포인트가stream_options.include_usage를 지원하는지 여부를 확인하세요. - 에이전트 도구 실패:
bind_tools로 격리합니다. 성공적인 기본invoke는 도구 테스트가 아닙니다. - 비표준 추론 필드가 없습니다. 공급자별 LangChain 통합을 사용하거나 원시 응답을 직접 처리하세요.
공식 참고자료
모델 선택 방법
LangChain ChatOpenAI FAQ
TokenHub에서 ChatOpenAI를 어떻게 지정하나요?
base_url을 /v1로 끝나는 TokenHub API 루트로 설정하고, TokenHub 키를 api_key로 전달하고, 모델을 정확한 TokenHub ID로 설정합니다.
base_url 대신 OPENAI_API_BASE를 사용할 수 있나요?
LangChain은 문서화된 OpenAI 기본 URL 환경 변수를 읽을 수 있지만 단일 통합에서는 명시적인 base_url이 가장 명확합니다.
성공적인 호출 호출은 에이전트가 작동한다는 것을 증명합니까?
아니요. 기본적인 채팅 연결을 증명합니다. 해당 기능을 사용하기 전에 도구 호출, 스트리밍 및 구조화된 출력을 검증하십시오.
langchain-openai 패키지가 필요합니까?
그렇습니다. ChatOpenAI는 langchain-openai 통합 패키지에서 유지 관리됩니다. LangChain 프로젝트의 나머지 부분과 호환되는 버전을 설치하십시오.
LangChain 404 문제를 어떻게 해결합니까?
TokenHub 요청 로그를 확인하기 전에 base_url이 /v1로 끝나는지 확인하고, 중복된 요청 경로를 제거하고, 정확한 모델 ID를 확인하세요.
참고 자료
이 설정은 TokenHub 및 공식 문서를 기준으로 하며, 최종 확인일은 2026-09-08。