접근 가능한 문서는 LangChain의 핵심 요소입니다. 새로운 기능/통합에 대한 문서뿐만 아니라 기존 문서에 대한 커뮤니티 개선도 환영합니다.
일반적으로 긴급한 필요가 없는 한 외부 기여자의 새로운 튜토리얼은 병합하지 않습니다. 특정 주제가 문서에서 누락되었거나 충분히 다루어지지 않았다고 생각되면 새 이슈를 열어주세요.
모든 문서는 네 가지 카테고리 중 하나에 속합니다:

시작하기

빠른 수정: 오타 수정

오타 수정과 같은 간단한 변경의 경우, 로컬 개발 환경을 설정하지 않고 GitHub에서 직접 편집할 수 있습니다:
사전 요구사항:
1

페이지 찾기

문서 페이지로 이동하여 페이지 하단으로 스크롤한 다음 “Edit the source of this page on GitHub” 링크를 클릭합니다
2

저장소 포크하기

GitHub에서 저장소를 계정으로 포크하라는 메시지가 표시됩니다. 으로 포크해야 합니다
3

변경 사항 작성

GitHub의 웹 에디터에서 직접 오타를 수정합니다
4

변경 사항 커밋

Commit changes...를 클릭하고 fix(docs): summary of change와 같이 설명적인 제목을 커밋에 부여합니다. 해당되는 경우 확장 설명을 추가합니다
5

Pull request 생성

GitHub가 pull request를 생성하도록 리디렉션합니다. 제목을 지정하고(종종 커밋과 동일) PR 템플릿 체크리스트가 있는 경우 따릅니다
문서 PR은 일반적으로 며칠 내에 검토됩니다. 관리자의 피드백을 처리하기 위해 PR을 주시하세요. 제공할 새로운 정보가 없는 한 PR을 재촉하지 마세요 - 관리자가 가능한 시간에 처리할 것입니다.

전체 개발 IDE 설정

더 큰 변경 사항이나 지속적인 기여를 위해서는 컴퓨터에 로컬 개발 환경을 설정하는 것이 중요합니다. 우리의 문서 빌드 파이프라인은 편집하는 동안 로컬 미리보기와 실시간 리로드를 제공하며, 이는 제출하기 전에 변경 사항이 의도한 대로 나타나는지 확인하는 데 중요합니다. 문서 저장소 README.md에 설명된 환경 설정 단계를 검토하세요.

문서 유형

해당되는 경우, 모든 문서는 Python과 JavaScript/TypeScript 모두에서 번역이 있어야 합니다. 자세한 내용은 현지화 가이드를 참조하세요.

개념 가이드

개념 가이드는 핵심 개념을 추상적으로 다루며 깊은 이해를 제공합니다.
  • 이해 중심: 작동 방식과 이유를 설명
  • 광범위한 관점: 다른 유형보다 더 높고 넓은 시야
  • 설계 지향: 결정과 트레이드오프를 설명
  • 풍부한 맥락: 비유와 비교 사용
  • 설계 결정 설명 - “개념 X가 왜 존재하는가?”
  • 비유를 사용하고 대안을 참조
  • 너무 많은 레퍼런스 콘텐츠를 혼합하지 않기
  • 관련 튜토리얼 및 how-to 가이드에 링크
  • “어떻게”보다 **“왜”**에 초점

레퍼런스

레퍼런스 문서는 존재하는 기능과 사용 방법을 정확하게 설명하는 상세하고 낮은 수준의 정보를 포함합니다.

Python 레퍼런스

좋은 레퍼런스는 다음을 수행해야 합니다:
  • 존재하는 것을 설명 (모든 매개변수, 옵션, 반환 값)
  • 쉬운 조회를 위해 포괄적이고 구조화됨
  • 기술적 세부 사항에 대한 권위 있는 소스 역할
Python 레퍼런스 문서의 기여 가이드를 참조하세요.
  • 일관성 유지; 제공자별 문서의 기존 패턴을 따르기
  • 기본 사용법(코드 스니펫)과 일반적인 엣지 케이스/실패 모드 모두 포함
  • 특정 버전이 필요한 기능을 명시
  • 새로운 통합 또는 제공자에는 전용 레퍼런스 페이지가 필요
  • 복잡한 구성 옵션에는 상세한 설명이 필요
  • API 변경으로 새로운 매개변수 또는 동작이 도입됨
  • 커뮤니티에서 특정 기능에 대해 자주 질문함

작성 표준

레퍼런스 문서는 다른 표준을 가지고 있습니다 - 자세한 내용은 레퍼런스 문서 기여 가이드를 참조하세요.

Mintlify 컴포넌트

가독성을 향상시키기 위해 적절한 Mintlify 컴포넌트를 사용하세요:
  • 콜아웃
  • 구조
  • 코드
  • <Note> 유용한 보충 정보용
  • <Warning> 중요한 주의사항 및 주요 변경 사항용
  • <Tip> 모범 사례 및 조언용
  • <Info> 중립적인 맥락 정보용
  • <Check> 성공 확인용

페이지 구조

모든 문서 페이지는 YAML frontmatter로 시작해야 합니다:
---
title: "Clear, specific title"
---

현지화

가능한 경우 모든 문서는 Python과 JavaScript/TypeScript 모두에서 현지화되어야 합니다. 이를 위해 한 언어 또는 두 언어 모두에 나타나야 하는 섹션을 구분하기 위해 사용자 정의 인라인 구문을 사용합니다:
:::python
Python-specific content. In real docs, the preceding backslash (before `python`) is omitted.
:::

:::js
JavaScript/TypeScript-specific content. In real docs, the preceding backslash (before `js`) is omitted.
:::

Content for both languages (not wrapped)
동등성 부족이 기여를 막는 것을 원하지 않습니다. 기능이 한 언어에서만 사용 가능한 경우, 다른 언어가 따라잡을 때까지 해당 언어로만 문서를 작성해도 괜찮습니다. 이러한 경우 다른 언어에서는 아직 사용할 수 없다는 메모를 포함하세요.
Python과 JavaScript/TypeScript 간 콘텐츠 번역에 도움이 필요한 경우 커뮤니티 슬랙에서 문의하거나 PR에서 관리자를 태그하세요.

품질 표준

일반 지침

동일한 자료를 다루는 여러 페이지는 유지 관리가 어렵고 혼란을 야기합니다. 각 개념이나 기능에 대해 하나의 표준 페이지만 있어야 합니다. 다시 설명하는 대신 다른 가이드에 링크하세요.
문서 섹션은 진공 상태로 존재하지 않습니다. 사용자가 익숙하지 않은 주제에 대해 배울 수 있도록 다른 섹션에 자주 링크하세요. 여기에는 API 레퍼런스 및 개념 섹션에 대한 링크가 포함됩니다.
적을수록 좋다는 접근 방식을 취하세요. 좋은 설명이 있는 다른 섹션이 있다면, 새로운 관점을 제시하지 않는 한 다시 설명하는 대신 링크하세요.

접근성 요구사항

모든 사용자가 문서에 접근할 수 있도록 보장하세요:
  • 헤더와 목록을 사용하여 쉽게 스캔할 수 있도록 콘텐츠 구조화
  • “여기를 클릭”하는 대신 구체적이고 실행 가능한 링크 텍스트 사용
  • 모든 이미지와 다이어그램에 설명적인 대체 텍스트 포함

테스트 및 검증

문서를 제출하기 전에:
1

모든 코드 테스트

모든 코드 예제를 실행하여 올바르게 작동하는지 확인
2

포맷 확인

make lint
make format
3

로컬 빌드

docs build
빌드가 오류 없이 완료되는지 확인
4

링크 검토

모든 내부 링크가 올바르게 작동하는지 확인

코드 내 문서

언어 및 스타일

모든 공개 함수에 대해 완전한 타입 힌트와 함께 Google 스타일 docstring을 사용하세요.
모든 문서에 대해 다음 표준을 따르세요:
  • 어조: 지침에 2인칭(“당신”) 사용
  • 시제: 능동태와 현재 시제 사용
  • 명확성: 기술 청중을 위한 명확하고 직접적인 언어 작성
  • 일관성: 전체적으로 일관된 용어 사용
  • 간결성: 필요한 맥락을 제공하면서 문장을 간결하게 유지

코드 예제

게시하기 전에 항상 코드 예제를 테스트하세요. 실제 API 키나 비밀을 포함하지 마세요.
코드 예제에 대한 요구사항:
1

완전성

사용자가 오류 없이 복사하고 실행할 수 있는 완전하고 실행 가능한 예제 포함
2

현실성

“foo” 또는 “example”과 같은 플레이스홀더 값 대신 현실적인 데이터 사용
3

오류 처리

적절한 오류 처리 및 엣지 케이스 관리 표시
4

문서화

복잡한 로직에 대한 설명 주석 추가
잘 문서화된 함수의 예:
def filter_unknown_users(users: list[str], known_users: set[str]) -> list[str]:
    """Filter out users that are not in the known users set.

    Args:
        users: List of user identifiers to filter.
        known_users: Set of known/valid user identifiers.

    Returns:
        List of users that are not in the known_users set.

    Raises:
        ValueError: If users list contains invalid identifiers.
    """
    return [user for user in users if user not in known_users]

도움 받기

우리의 목표는 가능한 한 가장 간단한 개발자 설정을 갖는 것입니다. 설정하는 데 어려움이 있는 경우 커뮤니티 슬랙에서 문의하거나 포럼 게시물을 여세요.
이제 LangChain에 고품질 문서를 기여하는 데 필요한 모든 것을 갖추었습니다! 🎤🦜

Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I