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