LangSmith 프레임워크

Intro
LangSmith는 LangChain 프레임워크를 활용하여 프롬프트 엔지니어링, LLM 파이프라인 개발, AI 애플리케이션 테스트를 수행할 수 있는 플랫폼 입니다.
GPT Playround보다 더 강력한 여러가지 기능을 사용할 수 있으며, Gpt Playground에서는 테스트해보지 못하는 다양한 프롬프트 엔지니어링 패턴을 테스트해 볼 수 있는 유용한 환경입니다.
LangChain Playground 설정
1. API KEY 설정
Playground를 사용하기 위해서는 OpenAI API키가 필요.
OpenAI에서 API KEY 발급을 위해서는 최소 5$의 과금이 필요하며, VISA카드가 요구됨.
Add payment details 클릭 후 카드 등록
credit balance에 최소금액 5$ 추가
Create new secret key클릭
Name과 프로젝트 설정후 Secret Key 발급. -> 발급한 Secret Key는 안전한 곧 에 저장해둔다.
발급받은 키를 등록
1. PlayGround 구성요소
1. 좌측 대시보드

1) Observability(가시성 분석 도구) : LangSmith의 핵심 기능으로 AI모델과 프롬프트의 실행 과정을 추척하고 성능을 분석하는 메뉴
Tracing Proejcts
AI모델의 실행 흐름을 추적하는 기능
AI가 입력을 받아 응답을 생성하는 과정을 단계별로 시각화하여 디버깅 가능
Agent, API호출 등의 상세한 실행 과정을 확인 할 수 있다.
Dashboards :
AI 모델과 프롬프트의 성능을 시각적으로 분석하는 메뉴
응답시간, 토큰 사용량, 정확도 평가 등 다양한 정보를 모니터링
2) Evaluation(평가 및 실험 도구) : AI모델 및 프롬프트의 성능을 테스트하고 평가할 수 있는 기능을 제공하는 메뉴
Datasets & Experiments (데이터 셋 및 실험)
AI 모델을 평가할 때 사용할 데이터 셋과 실험을 관리하는 메뉴
Few-shot Prompting이나 RAG 평가에 사용할 테스트 데이터를 업로드하여 실험할 수 있다
Annotation Queues (주석 대기열)
AI 모델의 응답을 사용자가 직접 검토하고 주석을 추가하여 평가하는 메뉴
AI가 생성한 응답을 사람이 직접 정확, 부정확 등의 라벨을 달아 학습을 개선할 수 있다.
3) Prompt Engineering : 프롬프트를 실험하고 최적화 하는 메뉴
Prompts (프롬프트 관리)
다양한 프롬프트를 저장하고 관리하는 공간
프롬프트의 버전관리가 가능
특정 프롬프트의 성능을 테스트하여 최적의 버전을 선택할 수 있다.
Playround(프롬프트 실험 및 테스트)
LangChain을 활용하여 실시간으로 프롬프트를 테스트하고 개선할 수 있는 공간
GPT Playground보다 강력한 기능들을 제공한다
실제 복잡한 환경의 LLM어플리케이션 개발을 위한 테스트 환경을 제공한다.
4) Deployments(배포) :
프롬프트 체인을 그래프로 모델링하여 복잡한 AI 애플리케이션을 곧바로 배포 및 실행하는 메뉴
2. 중앙 대시보드

1) Prompts (프롬프트 설정 영역) - 프롬프트를 생성, 편집, 저장하고 여러 프롬프트들과 비교 하는 메뉴
Select Prompt(프롬프트선택)
기존에 저장한 프롬프트를 불러오거나 새롭게 설정하는 기능
여러개의 프롬프트를 실험하고 비교할 수 있다.
SYSTEM
AI의 기본적인 동장 방식을 지정하는 영역으로 GPT Playground의 System Message 역할을함
HUMAN
사용자의 입력을 정의하는 영역으로 GPT Playground의 User Message 역할을함
+Message
새로운 역할 메세지 추가버튼
Output Schema
출력형식을 지정하는 버튼
AI의 응답을 구조화된 데이터로 변환하고자 할 때 유용하다.
+Tool
외부 API또는 도구를 연결하여 AI가 응답 생성시 사용하도록 설정하는 메뉴
OpenAI GPT-4o0mini
현재 사용중인 ai모델을 선택하는 메뉴. 우측 설정버튼을 통해 다른 메뉴로 변경가능
2) Inputs(입력값 설정 영역)
HUMAN 프롬프트에서 {question} 같은 변수 선언시 해당 변수에 저장할 값을 설정한다.
3) Output(응답)
프롬프트의 실행결과가 표시되는 공간
Tools 설정

Name : API의 이름 설정(한글 X)
Description : api의 역할에 대한 설명
Agruments : 도구가 필요로 하는 입력값 설정. 변수명, 필수여부, 자료형 지정.
Mode : api실행에 있어서 추가 속성을 허용할지 여부를 지정
LangChain의 기본 Tools API
분류
기능
대표적인 기본 제공 Tools
웹 검색 (Web Search)
실시간 검색 수행
SerpAPIWrapper
, GoogleSearchAPIWrapper
계산기 (Calculator)
수학 연산 수행
Tool(name="Calculator")
Python 실행 (Code Execution)
Python 코드 실행
PythonREPLTool
데이터베이스 연동 (SQL, NoSQL)
DB 쿼리 실행
SQLDatabaseToolkit
, VectorStoreRetrieverTool
파일 입출력 (File Handling)
파일 읽기/쓰기
TextLoader
, CSVLoader
API 호출 (HTTP 요청)
외부 API 호출
RequestsGetTool
, RequestsPostTool
번역 및 요약 (Translation, Summarization)
텍스트 번역 및 요약
TranslationTool
, SummarizationTool
코드 실행 (Shell, Bash)
OS 명령어 실행
ShellTool
, BashTool
Last updated