<aside> 📅 LangChain 개발 프로젝트 일정

</aside>

<aside> 💡 LangChain 프로젝트 제출 및 발표

</aside>

📌 제출 기한 준수 필수!

기한을 반드시 지켜주시기 바랍니다. 제출 기한 이후에 제출할 경우, 강사님의 피드백이 제공되지 않을 수 있습니다. 기한 내 제출을 통해 원활한 피드백을 받으실 수 있도록 협조 부탁드립니다.

<aside> <img src="/icons/forward_lightgray.svg" alt="/icons/forward_lightgray.svg" width="40px" />

주제 : Langchain 프로젝트 | Langchain을 이용한 App 개발 프로젝트

<aside> <img src="/icons/forward_lightgray.svg" alt="/icons/forward_lightgray.svg" width="40px" />

발표회 결과물 : 발표 자료(PDF), Readme.md

<aside> <img src="/icons/forward_lightgray.svg" alt="/icons/forward_lightgray.svg" width="40px" />

LMS 과제 : 개인 보고서

<aside> 🛠 LangChain 개발 프로젝트 주제

</aside>

  1. QA Engine 개발

    목표

    Untitled (1).png

    LangChain을 이용해서 Knowledge Base를 구축하고, 이를 응용한 QA Engine을 개발

    LLM API를 사용하여 수집한 문서 데이터를 기준으로 답변을 만드는 QA Engine 개발

    수집하는 문서는 자유

    Requirements

    1. 개발 언어: Python
    2. API 사용
      1. https://platform.openai.com/docs/models
      2. https://www.upstage.ai/pricing
    3. 모듈 구조:
      • main
      • llm
      • vector-store
      • retriever
      • crawler
      • chat_history
      • sql
      • logger
    4. 오픈소스 라이브러리 사용 : 제한 없음
    5. SLM 사용 : 다른 라이브러리 사용 가능
    6. 코드 협업: GitHub 사용, 모듈별 Branch, 모든 팀원이 최소한 1번 이상 PR 수행
    7. 클래스 사용: 클래스 기반 설계

    필수 기능 (기능적 requirements)

    1. API를 통해 답변이 제대로 생성되었는지 확인하는 기능

    2. LLM의 답변을 의도대로 생성하기 위해 System Prompt를 테스트하는 기능

      System Prompt는 선택

    3. RAG를 하기 위해 데이터를 VectorDB에 저장하는 기능

      RAG가 메인

    4. Langchain를 통해 사용자 입력과 적절한 Knowledge를 추출하는 기능

    5. main.py를 통해서 나머지 모듈들을 불러와서 한번에 실행하는 기능

    6. Chat History를 기억하여 지정한 페르소나, 주어진 역할, 답변의 출력 양식등을 유지하는 기능

      5번 이상 기억

      추가 기능 (구현시 가산점 +15점)

      • SQLite나 pymysql등을 사용하여 RDBMS에 구축된 데이터로부터 RAG를 수행하는 기능
        • 여기서 사용하는 DB는 각자 프로젝트 기획에 맞는 table 데이터를 수집하여 사용
        • schema를 반드시 README.md에 기술
        • text-to-sql은 변환이 완벽하지 않으니, 이 부분을 해결하는 prompt를 디자인
  2. Agent 개발

    Screenshot 2024-08-09 at 1.52.22 AM (1).png

    LangChain을 이용해서 특정 페르소나를 가지는 Generative Agents를 구축, 응용한 Chatbot을 개발

    LLM API를 사용하여 특정 캐릭터를 연기하는 ChatBot을 개발

    캐릭터의 역할과 Role을 사전에 정의

    Requirements

    1. 개발 언어: Python
    2. API 사용
    3. 모듈 구조:
    4. 오픈소스 라이브러리 사용 : 제한 없음
    5. SLM 사용 : 다른 라이브러리 사용 가능
    6. 코드 협업: GitHub 사용, 모듈별 Branch, 모든 팀원이 최소한 1번 이상 PR 수행
    7. 클래스 사용: 클래스 기반 설계

    필수 기능 (기능적 requirements)

    1. API를 통해 답변이 제대로 생성되었는지 확인하는 기능
    2. LLM의 답변을 의도대로 생성하기 위해 System Prompt를 테스트하는 기능
    3. RAG를 하기 위해 데이터를 VectorDB에 저장하는 기능
    4. Langchain를 통해 사용자 입력과 적절한 Knowledge를 추출하는 기능
    5. main.py를 통해서 나머지 모듈들을 불러와서 한번에 실행하는 기능
    6. Chat History를 기억하여 지정한 페르소나, 주어진 역할, 답변의 출력 양식등을 유지하는 기능

<aside> 🌠 LangChain 개발 팀 별 갤러리

</aside>

구현 명세