LangSmith는 무엇인가요?
LLM 어플리케이션을 위한 개발자 플랫폼 입니다. LLM 어플리케이션을 직접 만드는 도구는 아니고요, LLM 어플리케이션에서 발생할만한 버그를 추적하거나, 어떤 과정을 통해 챗봇이 대답을 하는지, 얼마나 빠르게 대답 하는 지 등을 추적하고, 유저 피드백을 수집하기도 하고, A/B 테스트도 하고 여러가지 필요한 일을 해줍니다.
직접 사용해본 결과, 프로덕션 레벨이 아니라 연구/개발 단계에서도 매우매우매우 유용합니다.
첨언하자면,
- LangChain 에서 만든 플랫폼이지만 꼭 LangChain 과 함께 사용할 필요는 없습니다.
- LLM 뿐 아니라 멀티모달리티로 확장된 어플리케이션에도 유용합니다.
주요 기능
- Tracing (추적)
- Dataset (데이터 관리)
- Evaluation (평가)
- Human Feedback (유저 피드백)
- Monitoring and Automations (모니터링)
- Playground
- Prompts (프롬프트)
장점
연구/개발자의 입장에서
LLM 어플리케이션은 여러 형태가 될 수 있지만, 기본적으로는 LLM 앞뒤에 agents 들이 붙은 챗봇의 형태를 기본 구조로 가져가겠죠. RAG (Retrieval Augmented Generation) 이나 웹브라우징 같은 행위들이 LLM 앞단에 붙는다고 가정하면, 검색과 LLM 의 성능을 구분할 필요가 있습니다. 다양한 사용자의 질문에 따라 답변을 잘 못하는 경우들이 있을 텐데, 어떤 부분이 문제인지 단계들을 추적할 필요가 있습니다. 그리고 그 데이터를 기반으로 개선을 해야겠죠. 이 과정이 단 하나의 셋팅을 모두 끝납니다. 너무너무 편하고, 24년 상반기 기준 다른 유의미한 프레임워크는 찾지 못했습니다. LLM 어플리케이션은 그 성능을 정량화 하기도 어려운데, 평가 도구도 잘 되어 있어서 평가를 쉽게 할 수 있습니다.
협업의 관점에서
LLM 어플리케이션은 타겟 어플리케이션에 따라 그 분야 전문가의 도움이 필요합니다. 예를 들어 저는 ESG 관련 LLM 어플리케이션 프로젝트를 진행했는데, ESG 전문가의 도움이 필요합니다. LLM 어플리케이션이 ESG 용어의 정의는 정확하게 파악 하고 있는데, 적절한 자료를 잘 검색했는지, 할루시네이션이 발생하지는 않았는지 제가 판단하기가 어려웠죠. LangSmith 플랫폼을 통해 ESG 전문가에게 데이터를 공유하거나, ESG 전문가가 바로바로 직접 플레이그라운드로 실험을 하며 개선을 한다거나 편리한 점이 많습니다.
운영자의 입장에서
실제로 서비스로 나가게 되면, LLM 어플리케이션의 답변이 느리지는 않은지, 사용자들은 답변에 대해 만족하고 있는지 모니터링을 해야합니다. 사용자들의 피드백은 AB 테스트로 개선에 사용될 수도 있고, 학습 데이터로 다시 활용될 수도 있죠. 모든 추적 run 에 대해 세세히 어디서 시간이 얼마나 걸렸는지 볼 수 있기 때문에 운영시에 필요한 부분들을 바로바로 캐치하기도 좋습니다.
결론
LangSmith 좋습니다. 시간이 지나면 많은 경쟁자가 등장할 수 있겠지만, 24년 기준으로는 LLM 을 상업화 하는 과정에 꼭 필요한 도구라고 생각됩니다. 그래서 제가 이 글을 쓰고 강의를 만들고 있죠. 제가 LLM 을 상업화 시키는 과정에서 필요한 요구 사항을 정확히 만족하는 유일한 도구였고, 한국어 자료가 없을 뿐더러, N 개의 기업에서 강의를 요청했기에 시장의 수요도 확인했습니다.