1 of 38

LangChain OpenTutorial

2024. 12. 28.

Version 1

2 of 38

Environment & Package

3 of 38

Poetry ENV 글로벌 환경

  • #인프라 팀에 필요한 환경 패키지 요청
    • 예시) `langchain-openai` 추가 요청
  • #인프라 팀에서 package 추가 후 poetry 배포
  • *poetry 환경 배포는 인프라 팀만 commit

4 of 38

Commit RULE

5 of 38

신규/기존 개발자

  1. 무조건 fork 한 뒤 작업
  2. fork 한 repository 에서 작업
  3. 1차 작업 완료 후 fork 한 repository 에 우선 커밋
  4. MAIN repository 에 PR(pull request)
  5. PEER 리뷰 (2명)
  6. PEER 리뷰 완료 확인 후 메인에 Merge.

6 of 38

WorkFlow

7 of 38

Commit Message

8 of 38

Commit Messages

  • GPTs 로 commit message 한 번 필터링 후 제출

9 of 38

Commit Messages

10 of 38

템플릿

11 of 38

Checkpoint 1

  • 제목: Title
    • # 한개로 정의 (유일한 # 1개)

12 of 38

Checkpoint 2

  • Author, Design, Colab / LangChain OpenTutorial 링크 확인

- Author: [Teddy](https://github.com/teddylee777)

- Design: [Teddy](https://github.com/teddylee777)

- This is a part of [LangChain Open Tutorial](https://github.com/LangChain-OpenTutorial/LangChain-OpenTutorial)

�[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/langchain-ai/langchain-academy/blob/main/module-4/sub-graph.ipynb) [![Open in LangChain Academy](https://cdn.prod.website-files.com/65b8cd72835ceeacd4449a53/66e9eba12c7b7688aa3dbb5e_LCA-badge-green.svg)](https://academy.langchain.com/courses/take/intro-to-langgraph/lessons/58239937-lesson-2-sub-graphs)

13 of 38

Checkpoint 3

  • ## Overview
    • 이 곳에 튜토리얼에 대한 전반적인 내용을 작성합니다.
    • 튜토리얼의 목적 / 주로 다루는 내용을 언급해 주시는 것이 좋습니다.
    • 최소 3 문장 이상 기입을 권장드립니다.

14 of 38

Checkpoint 4

  • ### Table of Contents
    • 이 튜토리얼의 목차와 더불어 anchor 가 달린 링크 형식의 불렛포인트입니다.

15 of 38

Checkpoint 5

  • ### References
    • 이 글의 출처 입니다. 사용한 모든 출처를 남깁니다.

16 of 38

Checkpoint 6

  • 이미지 작업
    • 중간에 이미지 도식이 필요한 경우 손으로 그려 디자이너가 쉽게 이해할 수 있도록 합니다.
    • 추천 도구: excalidraw, 그림판, 손으로 그린 후 사진찍어서 전달 등

17 of 38

Checkpoint 7

  • ## Environment Setup
    • 이 부분은 템플릿을 그대로 활용해 주세요
    • 단, 사용하는 package 만 조정해 주시면 됩니다.

18 of 38

#, ##, ### 사용 규칙

  • # 은 제목에만 사용합니다.
  • ## 은 소제목에 사용합니다. 큰 주제별로 나눌때 table of contents 내용
  • ### 은 소제목의 하위 카테고리에 사용합니다.

  • #### 은 사용하지 않습니다. 최대 깊이는 ### 까지만입니다.

19 of 38

##, ### 제목 작성시 당부사항

  • ##, ### 은 자유롭게 작성하셔도 좋습니다.
  • 다만, ##, ### 밑에 아무런 콘텐츠만 없이 놔두지는 말아주세요.

20 of 38

마크다운 문법 작성시 당부사항

  • 강조는 ** 로 bold 해 주세요.
    • 가급적이면 ** 다음에는 1칸 space 를 꼭 띄어주세요.
    • (예시) 다음 단계에서는 **쿼리 라우팅** 과 **문서 평가** 를 수행합니다.

  • 단, `변수`, `함수`, `모듈명` 등은 backtick 으로 해주세요
    • (예시) 다음은 `ChatOpenAI` 를 활용하는 예시입니다.
    • (잘못된 예시) 다음은 ‘ChatOpenAI’ 를 활용하는 예시입니다.
  • 다음 줄 넘어갈 때는 개행 2개(enter 키 두번!)가 필요!

21 of 38

코드 포맷터

  • black formatter

22 of 38

코드 포맷터

23 of 38

settings.json 설정 추가

24 of 38

저장시 자동으로 formatting 되는지 확인

  • 확인 한 번 해주세요!
    • 자동 저장 + 자동 포맷팅!

25 of 38

코드 주석 작성 가이드라인

  • 주석(comment) 를 상세히 달면 좋습니다.
    • 하지만, 매 line 마다 달면 오히려 역효과가 날 수 있습니다.

적절

조금 과함

26 of 38

데이터

  • 데이터 경로는 항상 `data` 폴더를 참조 합니다.
    • (예시) data/example.pdf
  • 데이터 저작권이 있는 경우 다운로드 받을 수 있는 링크와 설명을 튜토리얼에 포함해 주세요 (data 폴더에 포함하지 말아주세요 XX)
    • (예시)

27 of 38

이미지

  • 이미지는 `assets` 폴더에 추가합니다.
    • markdown 문법으로 이미지 경로를 지정해 주세요.
    • (예시)

28 of 38

Jupyter Notebook 출력

  • 출력은 전부 출력이 나온 상태 그대로 commit 해 주세요

29 of 38

디자인 요청 프로세스

30 of 38

필요한 이미지 요청 프로세스

31 of 38

필요한 이미지 요청 프로세스

  • 피그마를 사용하여 최대한 designer 가 이해할 수 있는 수준의 그림으로 요청합니다.
  • 참고 자료도 같이 포함하셔도 좋습니다.

32 of 38

요청 방식 (피그마)

  • 해당 팀의 피그마링크에 들어갑니다.
  • 생성규칙
    • 피그마에 기입되어있는 규칙에 따라 이미지 제작 요청을 합니다.

33 of 38

번역/검수 팀

34 of 38

별도로 진행

  • PR 로 Merge 된 이후 자료를 검토 합니다.
  • 수정사항이 있다면, issue 에 올리고 관련자를 tagging 합니다.
  • 번역 및 검수가 완료되었다면, 튜토리얼에 표식을 남기고 완료합니다.

35 of 38

리뷰어 팀

36 of 38

리뷰어 팀 겸직?

37 of 38

이슈사항

38 of 38

이슈 1