LangWatch란 무엇이며 설치 및 사용법

Ashley Goolam

Ashley Goolam

18 July 2025

LangWatch란 무엇이며 설치 및 사용법

대규모 언어 모델(LLM) 파이프라인을 평가하고 최적화하는 데 어려움을 겪고 계신가요? **LangWatch**를 만나보세요. 맞춤형 LLM 워크플로우를 쉽게 모니터링, 평가 및 미세 조정할 수 있게 해주는 혁신적인 플랫폼입니다. 이 가이드에서는 **LangWatch**가 무엇인지, 왜 놀라운지, 그리고 AI 프로젝트를 강화하기 위해 어떻게 설치하고 사용하는지 자세히 알아볼 것입니다. 간단한 챗봇을 설정하고, **LangWatch**를 통합하고, 샘플 질문으로 테스트하는 과정을 따라하기 쉽게 설명해 드릴 것입니다. 시작해 봅시다!

💡
아름다운 API 문서를 생성하는 훌륭한 API 테스트 도구를 원하십니까?

개발팀이 최대한의 생산성으로 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하십니까?

Apidog는 귀하의 모든 요구를 충족하며, Postman을 훨씬 저렴한 가격에 대체합니다!
버튼

LangWatch란 무엇이며 왜 관심을 가져야 할까요?

**LangWatch**는 LLM 평가라는 까다로운 문제를 해결하기 위한 최고의 플랫폼입니다. 분류를 위한 F1 점수, 번역을 위한 BLEU, 요약을 위한 ROUGE와 같은 표준 지표를 사용하는 기존 모델과 달리, 생성형 LLM은 비결정적이며 파악하기 어렵습니다. 게다가 모든 회사는 자체 데이터, 미세 조정된 모델 및 맞춤형 파이프라인을 가지고 있어 평가가 골치 아픈 일이 됩니다. 바로 이 지점에서 **LangWatch**가 빛을 발합니다!

**LangWatch**를 통해 다음을 수행할 수 있습니다:

챗봇, 번역 도구 또는 맞춤형 AI 앱을 구축하든, **LangWatch**는 LLM이 최고 수준의 결과를 제공하도록 돕습니다. 실제로 작동하는 것을 볼 준비가 되셨나요? **LangWatch**를 설치하고 사용해 봅시다!

langwatch official website

LangWatch 설치 및 사용 단계별 가이드

전제 조건

시작하기 전에 다음이 필요합니다:

1단계: LangWatch 가입

**계정 생성**:

**API 키 받기**:

create an account with langwatch

2단계: LangWatch를 사용하여 Python 프로젝트 설정

간단한 챗봇을 추적하기 위해 Python 프로젝트를 만들고 **LangWatch**를 통합해 봅시다.

  1. **프로젝트 폴더 생성**:
mkdir langwatch-demo
cd langwatch-demo

2. **가상 환경 설정**:

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

3. **LangWatch 및 의존성 설치**:

pip install langwatch chainlit openai

4. **챗봇 코드 생성**:

import os
import chainlit as cl
import asyncio
from openai import AsyncClient

openai_client = AsyncClient()  # Assumes OPENAI_API_KEY is set in environment
model_name = "gpt-4o-mini"
settings = {
    "temperature": 0.3,
    "max_tokens": 500,
    "top_p": 1,
    "frequency_penalty": 0,
    "presence_penalty": 0,
}

@cl.on_chat_start
async def start():
    cl.user_session.set(
        "message_history",
        [
            {
                "role": "system",
                "content": "You are a helpful assistant that only reply in short tweet-like responses, using lots of emojis."
            }
        ]
    )

async def answer_as(name: str):
    message_history = cl.user_session.get("message_history")
    msg = cl.Message(author=name, content="")
    stream = await openai_client.chat.completions.create(
        model=model_name,
        messages=message_history + [{"role": "user", "content": f"speak as {name}"}],
        stream=True,
        **settings,
    )
    async for part in stream:
        if token := part.choices[0].delta.content or "":
            await msg.stream_token(token)
    message_history.append({"role": "assistant", "content": msg.content})
    await msg.send()

@cl.on_message
async def main(message: cl.Message):
    message_history = cl.user_session.get("message_history")
    message_history.append({"role": "user", "content": message.content})
    await asyncio.gather(answer_as("AI Bites"))

5. **OpenAI API 키 설정**:

export OPENAI_API_KEY="your-openai-api-key"  # On Windows: set OPENAI_API_KEY=your-openai-api-key

6. **챗봇 실행**:

chainlit run app.py
test chainlit application

3단계: 추적을 위한 LangWatch 통합

이제 챗봇의 메시지를 추적하기 위해 **LangWatch**를 추가해 봅시다.

  1. **LangWatch를 위해 app.py 수정**:
import os
import chainlit as cl
import asyncio
import langwatch
from openai import AsyncClient

openai_client = AsyncClient()
model_name = "gpt-4o-mini"
settings = {
    "temperature": 0.3,
    "max_tokens": 500,
    "top_p": 1,
    "frequency_penalty": 0,
    "presence_penalty": 0,
}

@cl.on_chat_start
async def start():
    cl.user_session.set(
        "message_history",
        [
            {
                "role": "system",
                "content": "You are a helpful assistant that only reply in short tweet-like responses, using lots of emojis."
            }
        ]
    )

async def answer_as(name: str):
    message_history = cl.user_session.get("message_history")
    msg = cl.Message(author=name, content="")
    stream = await openai_client.chat.completions.create(
        model=model_name,
        messages=message_history + [{"role": "user", "content": f"speak as {name}"}],
        stream=True,
        **settings,
    )
    async for part in stream:
        if token := part.choices[0].delta.content or "":
            await msg.stream_token(token)
    message_history.append({"role": "assistant", "content": msg.content})
    await msg.send()

@cl.on_message
@langwatch.trace()
async def main(message: cl.Message):
    message_history = cl.user_session.get("message_history")
    message_history.append({"role": "user", "content": message.content})
    await asyncio.gather(answer_as("AI Bites"))

2. **통합 테스트**:

chainlit run app.py
langwatch trace message

4단계: 챗봇 평가를 위한 워크플로우 설정

챗봇의 성능을 평가하기 위해 **LangWatch**에서 데이터셋과 평가 도구를 생성해 봅시다.

  1. **데이터셋 생성**:
질문 예상 답변
오늘의 프랑스어 단어는 무엇인가요? Aujourd’hui

2. **평가 도구 설정**:

workflow structure

3. **평가 도구 실행**:

run the llm answer match

다음과 같이 표시되어야 합니다:

pop up result

4. **워크플로우 평가**:

evaluate the entire llm workfolw

5단계: 워크플로우 최적화

평가가 완료되면 챗봇의 성능을 최적화해 봅시다.

1. **최적화 실행**:

start the llm optimization process

2. **개선 사항 확인**:

workflow optimization results

6단계: 선택 사항 - 로컬 LangWatch 설정

민감한 데이터로 테스트하기 위해 **LangWatch**를 로컬에서 실행하고 싶으신가요? 다음 단계를 따르세요:

  1. **저장소 복제**:
git clone https://github.com/langwatch/langwatch.git
cd langwatch

2. **환경 설정**:

cp langwatch/.env.example langwatch/.env

3. **Docker로 실행**:

docker compose up -d --wait --build

4. **대시보드 접속**:

참고: Docker 설정은 테스트용이며 프로덕션 환경에 확장 가능하지 않습니다. 프로덕션 환경에서는 **LangWatch** 클라우드 또는 엔터프라이즈 온프레미스를 사용하세요.

LangWatch를 사용해야 하는 이유

**LangWatch**는 AI 파이프라인을 모니터링, 평가 및 최적화할 수 있는 통합 플랫폼을 제공하여 LLM 평가 퍼즐을 해결합니다. 프롬프트를 조정하거나, 성능을 분석하거나, 챗봇이 정확한 답변(예: 프랑스어로 "today"에 대한 "Aujourd’hui")을 제공하는지 확인하는 등, **LangWatch**는 이 모든 것을 쉽게 만들어 줍니다. Python 및 Chainlit, OpenAI와 같은 도구와의 통합 덕분에 몇 분 만에 LLM 앱을 추적하고 개선하기 시작할 수 있습니다.

예를 들어, 저희 데모 챗봇은 이제 이모티콘과 함께 트윗처럼 짧은 응답을 하며, **LangWatch**는 이것이 정확하고 최적화되도록 돕습니다. 확장하고 싶으신가요? 데이터셋에 더 많은 질문을 추가하거나 평가 도구에서 다른 LLM 모델을 실험해 보세요.

결론

자, 이제 다 배우셨습니다! **LangWatch**가 무엇인지, 어떻게 설치하고, 챗봇을 모니터링하고 최적화하는 데 어떻게 사용하는지 배웠습니다. Python 프로젝트 설정부터 메시지 추적, 데이터셋을 사용한 성능 평가에 이르기까지, **LangWatch**는 LLM 파이프라인을 제어할 수 있도록 지원합니다. 저희의 테스트 질문("오늘의 프랑스어 단어는 무엇인가요?")은 AI 응답을 추적하고 개선하는 것이 얼마나 쉬운지 보여주었습니다.

AI 게임을 한 단계 더 발전시킬 준비가 되셨나요? app.langwatch.ai로 이동하여 가입하고 오늘 바로 **LangWatch**로 실험을 시작하세요.

💡
아름다운 API 문서를 생성하는 훌륭한 API 테스트 도구를 원하십니까?

개발팀이 최대한의 생산성으로 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하십니까?

Apidog는 귀하의 모든 요구를 충족하며, Postman을 훨씬 저렴한 가격에 대체합니다!
버튼

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요