[플레이데이터 SK네트웍스 Family AI 캠프 6기] 11주차 회고 (12/02~12/06)

2024. 12. 16. 14:32AI

금주 학습 회고: Hugging Face와 LangChain을 중심으로

이번주 학습에서는 Hugging Face 모델 활용LangChain 프레임워크에 대해 심도 있게 살펴보았습니다. 이를 통해 자연어 처리와 AI를 효율적으로 활용하는 방법, 최신 기술 트렌드, 그리고 이를 실제 응용에 적용하는 방안을 탐구했습니다.


1. Hugging Face: 모델 사용의 기본

  • max_length 지정: max_length를 설정할 때는 truncation과 padding을 반드시 같이 설정해야 한다는 점이 중요합니다. 특히, max_length가 데이터의 최대 길이보다 짧을 경우 유의해야 합니다.
  • 필수 패키지 설치:
    pip install transformers -qU
    pip install langchain-huggingface -qU
    pip install huggingface_hub -qU
  • Embedding Vector와 Context Vector:
    • Embedding Vector는 문자를 단순히 벡터화한 것이며, 문자 자체의 의미를 고려하지 않습니다.
    • 이를 보완한 것이 Context Vector로, 문맥을 반영한 더 정교한 표현입니다.

2. LangChain: 강력한 도구의 집합

  • 다양한 LLM 모델 사용: LangChain은 여러 모델을 결합해 사용하는 데 강력한 도구를 제공합니다.
  • Memory 기능:
    • LangChain은 이전 대화를 저장하고 활용할 수 있는 Memory 기능을 제공합니다.
    • 예를 들어, return_messages=True를 설정하면 대화 내용이 message 객체로 반환됩니다.
  • Chain:
    • LangChain에서 Pipeline은 Chain이라고 부릅니다.
    • Chain은 개별 기능을 연결하여 하나의 작업 흐름을 구성합니다.
    • Runnable 클래스는 Chain에 포함되는 모든 객체가 반드시 상속받아야 하는 기본 클래스입니다.
  • Cache와 데이터베이스:
    • SQLite를 활용해 캐시를 저장하고 불러오는 방식으로 속도를 높일 수 있습니다.

3. RAG (Retrieval-Augmented Generation)

  • RAG는 프롬프트 엔지니어링의 다음 단계 기술로, 대화의 정확성과 관련성을 높이는 데 사용됩니다.
  • 효율적인 RAG를 설계하기 위해 에이전트(agent) 기반 구조가 각광받고 있습니다.
  • RAG와 LangChain을 결합하면 강력한 정보를 검색하고 처리하는 시스템을 구축할 수 있습니다.

4. 최신 기술 트렌드와 인사이트

  • Token 수 증가:
    • GPT 모델의 토큰 한도가 12만 개로 증가했습니다. 이는 더 긴 문맥을 처리할 수 있는 가능성을 열어줍니다.
  • LangChain Community:
    • 서드파티 라이브러리를 활용해 다양한 기능을 통합합니다.
  • 데이터 보호:
    • 데이터를 보호하려는 수요와 데이터를 활용해 서비스화하려는 요구가 지속적으로 증가하고 있습니다. 이 두 영역에 동시에 투자할 기회가 있습니다.

5. 실제 응용 방안

  • Streamlit 기반 ChatBot:
    • LangChain과 Hugging Face 모델을 결합해 간단한 챗봇을 Streamlit 코드로 구현할 수 있습니다.
  • 환경 변수 관리:
    • .env 파일을 사용해 중요한 설정 값을 관리합니다.
  • 버전 호환성 관리:
    • 코딩 중 맞춰 놓은 패키지 버전은 항상 실행 시 동일하게 유지해야 안정성이 보장됩니다.

결론과 향후 계획

이번 학습을 통해 Hugging Face와 LangChain이 제공하는 다양한 기능과 이를 활용한 AI 응용 가능성을 알게 되었습니다. 특히, Memory, RAG, Chain 기능을 활용한 사용자 중심의 AI 시스템 구축은 매우 유용한 기술이 될 것입니다. 앞으로는 아래와 같은 방향으로 학습을 확장하고자 합니다.

  1. RAG 시스템 최적화: 효율성을 높이기 위한 구조적 설계 학습.
  2. LangChain 응용 강화: 에이전트를 활용해 복잡한 작업을 처리하는 응용 프로그램 개발.
  3. 데이터 보호 기술 탐구: AI와 보안이 만나는 지점에서 혁신적인 솔루션 구상.

"가능한 것에 집중하며 작은 실행을 계속하기."