LangChain: AI 텍스트 생성을 위해 OpenAI의 GPT API와 인터페이스하는 Python 및 JavaScript 라이브러리
- 엔비디아는 RAG 을 위한 레퍼런스 아키텍처에서 랭체인(LangChain) 을 사용
- 랭체인은 조직 내 정보를 벡터저장소에 저장하고 유사도검색을 수행하고, 거대언어모델과 연동하는 모든 과정을 쉽게 처리할 수 있는 라이브러리임
- ReAct 논문의 구현체로, LLM의 출력 텍스트 품질을 향상시킨다고 알려짐
- 일종의 SDK(Software Development Kit)이자 다양한 언어 모델을 기반으로 하는 애플리케이션 개발을 위한 프레임워크
ReAct 워크플로우는 InstructGPT/text-davinci-003 에서 특히 효과적이었지만 비용이 많이 들고 소규모 프로젝트에는 사용하기 쉽지 않음
LangChain은 인기를 얻으면서 별도 수익이나 수익 창출 계획이 없음에도 꽤 많은 자금을 조달
실제로 BuzzFeed에서 챗봇을 만드는데 사용하려고 했음
RAG(Retrieval-Augemented Generation)에 LangChain이 인기있는 도구 였기 때문에
하지만, 한참 연구해봐도 잘 안됨. 버그도 많고 품질도 좋지 않음
다시 저수준으로 들어가서 직접 개발해보니 LangChain보다 훨씬 좋은 결과가 나옴
해커뉴스에서 "100줄의 코드로 LangChain 만들기" 글과 댓글에서 LangChain 비난을 보고 나만 그런게 아니라는 것을 알게됨
LangChain의 문제는 AI 생태계에 불필요한 복잡성과 편파성을 추가한다는 것
ChatGPT와 인터페이스 하는 방법을 배우고 싶은 초보자는 절대 LangChain으로 시작하지 말 것
예제와 코드는 OpenAI의 공식 Python 라이브러리를 사용하는 것보다 더 복잡함
LangChain의 프롬프트 엔지니어링은 사실상 추가 단계를 넣어버린 f-strings에 불과함
Agent 워크플로우와 대화 기억 기능은 문서화가 잘 되어있지 않아 사용하기 헷갈릴 수 있음
시스템 프롬프트 기능은 Agent 워크플로우와 제대로 통합되지 않음
문서와 예제는 장점보다 문제가 더 많아 실제 사용시 어려움
LangChain 에이전트는 프롬프트 엔지니어링과 JSON 출력을 통해 독특한 도구 선택 방법을 사용함
정상 출력 구조의 변경으로 인해 에이전트가 작동하지 않고 구문 분석 오류 처리가 필요할 수 있음
챗봇은 레시피를 올바르게 추출하고 형식화할 수 있지만, 출력이 지루함
사용자 정의 에이전트 및 체인 기능을 갖추고 있지만, 이는 프로세스를 복잡하게 만듦
텍스트 분리기 및 통합 벡터 저장소와 같은 유틸리티 기능을 갖춘 LangChain은 LangChain 기반 코드만 사용할 수 있도록 제한을 둠
LangChain은 대부분의 인기 있는 사용 사례에서 오버헤드와 복잡성을 증가시킴
“it’s complicated, so it must be better!” 철학을 구현한 것 같음
저자는 LangChain 대안으로 훨씬 더 간단한 simpleaichat라는 Python 패키지를 개발했음
simpleaichat 을 광고하는게 아니라, 초보자들이 LangChain으로 갈까봐 걱정됨
https://minimaxir.com/2023/07/langchain-problem/
'12. 메일진' 카테고리의 다른 글
2024 - 프론트엔드에 대한 2023년 회고와 2024년 예상 (2) | 2024.01.15 |
---|---|
2024 - 스콧 갤러웨이의 2024년 예상 (0) | 2024.01.15 |
2024 - 네이처, 2024년 주목해야할 과학 이벤트 전망 (1) | 2024.01.11 |
미리보는 CES 2024 (0) | 2024.01.09 |
ITFIND 메일진 제1150호 산업분야별 정보메일 (발행 : 2024-01-05 ) (1) | 2024.01.05 |