🐯
경민민 IT 핸드북
  • Orientation
    • 전달사항
    • 복습방법
    • 수료한 선배의 한마디
    • 간단 자기소개
    • 스터디
  • 백엔드
    • Java
      • 1장 프로그래밍 기초
      • 2장 자바 메모리구조
        • 1. Stack
        • 2. Heap
      • 6장 객체
      • 8장 상속
      • 9장 다형성
      • 10장 추상클래스와 인터페이스
      • 13장 Generic
      • 14장 Thread
      • 15장 Network
      • 16장 Lamda
        • 1. 내부 클래스 (Inner Class)
          • DTO , VO, Builder Pattern
        • 2. 람다 표현식 (Lambda Expression)
        • 3. 스트림 API (Stream API)
          • Optional
      • 17장 Enum
  • 프론트
    • Node.js
    • Java Script
      • ES6+
        • Node.js로 자바스크립트 실행
        • let , const , var
        • Destructuring문법
          • Rest(...) 문법
        • Arrow Function
        • 모듈
        • ETC
    • Type Script
      • 개요
      • TS설치 및 환경설정
      • 타입스크립트 기본
        • 기본 자료형들과 타입추론
        • Object, Array , Tuple
        • Any, Unknown, Union Type
        • Function Type
          • Type Assertion && Narrowing
          • Never type
        • Type Aliases와 Interface
        • 리터럴 타입
        • 함수 추가 문법
        • Class문법
        • 객체 타입 추가 문법
        • 실습문제 1차
        • 실습문제 2차
        • 실습문제 3차
    • React
      • 개요
      • SPA 와 MPA
        • SEO(작성예정)
      • 리액트 프로젝트 생성(18.3.1.ver)
        • HTML + react 샘플
        • CRA 와 Vite 비교
      • 리액트 개념들
        • Component
          • 클래스 컴포넌트(작성예정)
          • 함수형 컴포넌트(작성예정)
        • JSX
        • React Virtual Dom
          • Reconciliation
        • hook
          • useState
        • 리액트 데이터 전달
          • FLUX
      • 백엔드 서버 연동
        • 비동기요청
        • 웹소켓
        • Promise(작성예정)
      • 실습문제 1
      • 실습문제 2
      • 실습문제3
      • 실습문제4
  • 프레임워크
    • Spring
      • Spring 개발환경 구축
        • 프로젝트 환경설정
        • 프로젝트 생성
          • MVC Project 생성이슈
        • Maven 설정
        • web.xml 설정
        • Spring Bean Configuration.xml 설정
      • Spring Legacy Project
        • Spring 요청 및 응답 흐름
        • Spring 주요 Annotation
          • 의존성 주입방식의 차이점
          • @ModelAttribute와 유효성검사
          • 비동기처리
          • 스프링 예외처리
        • Logging
        • Pagination
        • Spring File 업로드 및 다운로드
        • Spring WebSocket
        • Spring AOP
      • Spring 라이브러리들(작성예정)
        • Lombok
        • Maven
        • MyBatis
      • Spring 구성 모듈(작성예정)
      • 스프링 과제
    • Spring Boot
      • Spring Boot 개발환경 구축
      • 스프링 부트 프로젝트 생성방법들
        • 프로젝트에서 사용하는 의존성들
      • 스프링 프로젝트 구조
        • SpringBootApplication
      • application.properties
      • Cross Origin
        • CORS
      • WebSocket
        • Stomp(작성중)
      • 로그인(작성중)
      • Spring Security(작성중)
      • 실습문제 Select
      • 실습문제 Update
      • 실습문제 Delete
  • 형상관리(Git)
    • GitHub설정
    • SourceTree를 활용한 깃허브 연동
      • 소스트리 설치
      • Clone
      • Branch
        • Branch Protection rules
          • Branch Protection Rules 상세규칙
        • Rebase 와 Squash (작성예정)
      • Team Project 설정
        • 팀장 프로젝트 셋팅
          • Collaborator
          • .gitignore 설정
        • 팀원 프로젝트 셋팅
        • 공통 프로젝트 진행
  • 프로젝트
    • 진행순서
      • 요구사항 분석 단계
        • 유용한 사이트
      • 프로그램 설계 단계
        • 유용한 사이트
      • 프로그램 구현단계
        • SourceTree를 활용한 Team Project설정
      • 테스트 단계
  • 배포
    • AWS-EC2 배포 연습
    • DevOps
      • IT시스템의 변화와 DevOps
      • DevOps 라이프사이클
    • 젠킨스
      • 도커
        • 도커 설치 방법
        • 도커 기본 명령어들
      • 젠킨스 설치
      • 젠킨스 프로젝트 생성
      • 젠킨스 소스코드 통합 - Github
      • 젠킨스 빌드 설정 - Maven
      • 배포 서버 구축하기
      • 파이프라인 구축
      • AWS 서버 생성
        • AWS 인스턴스 생성
        • AWS - Zenkins 연동
        • AWS - 배포서버 연동
        • AWS - Jenkins CI/CD파이프라인 구축
  • 유용한 사이트 모음
  • SQL
    • SQLD
      • 데이터 모델링의 이해 - 스키마
      • 데이터 모델링의 이해 - ERD
      • 데이터 모델링의 이해 - 정규화
      • 데이터 모델링의 이해 - NULL
      • SQL 기본 및 활용 - WINDOW FUNCTION
    • Oracle
      • 1장 개요
      • 2장 SQL
  • LLM 서비스
    • 1장 LLM에 대한 이해
    • 2장 프롬프트 엔지니어링
      • 프롬프트와 프롬프트 엔지니어링
      • GPT PlayGround
      • 프롬프트 작문 유형
      • 기본 프롬프트 엔지니어링 태크닉
      • 고급 프롬프트 엔지니어링 태크닉
        • ReAct Prompting
        • Active-Prompt
        • Reflexion
        • Graph Prompt
      • OpenAI API설정
      • OpenAI를 활용한 프롬프트 엔지니어링 실습
        • 실습 프롬프트
    • 3장 Lang Chain 프레임워크
      • LangSmith 프레임워크
        • LangSmith를 활용한 LangChain 모니터링 설정
      • LangChain 실습 1 - Prompt
        • 실습 코드
      • LangChain 실습 2 - LLM 캐시와 메모리
    • 4장 RAG
      • Document Loader - 문서 로더
      • Text Splitter - 텍스트 분할
      • Embedding - 임베딩
      • Vector Store - 벡터 저장소
      • Retriever - 검색기
      • ReRanker - 재평가자
      • RAG
Powered by GitBook
On this page
  • Intro
  • LangChain Playground 설정
  • 1. API KEY 설정
  • 1. PlayGround 구성요소
  • 1. 좌측 대시보드
  • 2. 중앙 대시보드
  • Tools 설정
  1. LLM 서비스
  2. 3장 Lang Chain 프레임워크

LangSmith 프레임워크

Previous3장 Lang Chain 프레임워크NextLangSmith를 활용한 LangChain 모니터링 설정

Last updated 3 months ago

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

랭체인 플레이그라운드
VISA카드 등록 링크
API키 발급 페이지로 이동