대규모 언어 모델(LLM) 파이프라인을 평가하고 최적화하는 데 어려움을 겪고 계신가요? **LangWatch**를 만나보세요. 맞춤형 LLM 워크플로우를 쉽게 모니터링, 평가 및 미세 조정할 수 있게 해주는 혁신적인 플랫폼입니다. 이 가이드에서는 **LangWatch**가 무엇인지, 왜 놀라운지, 그리고 AI 프로젝트를 강화하기 위해 어떻게 설치하고 사용하는지 자세히 알아볼 것입니다. 간단한 챗봇을 설정하고, **LangWatch**를 통합하고, 샘플 질문으로 테스트하는 과정을 따라하기 쉽게 설명해 드릴 것입니다. 시작해 봅시다!
개발팀이 최대한의 생산성으로 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하십니까?
Apidog는 귀하의 모든 요구를 충족하며, Postman을 훨씬 저렴한 가격에 대체합니다!
LangWatch란 무엇이며 왜 관심을 가져야 할까요?
**LangWatch**는 LLM 평가라는 까다로운 문제를 해결하기 위한 최고의 플랫폼입니다. 분류를 위한 F1 점수, 번역을 위한 BLEU, 요약을 위한 ROUGE와 같은 표준 지표를 사용하는 기존 모델과 달리, 생성형 LLM은 비결정적이며 파악하기 어렵습니다. 게다가 모든 회사는 자체 데이터, 미세 조정된 모델 및 맞춤형 파이프라인을 가지고 있어 평가가 골치 아픈 일이 됩니다. 바로 이 지점에서 **LangWatch**가 빛을 발합니다!
**LangWatch**를 통해 다음을 수행할 수 있습니다:
- **실험 및 최적화**: LLM 파이프라인을 쉽게 테스트하고 개선합니다.
- **성능 모니터링**: AI가 실시간으로 어떻게 작동하는지 추적합니다.
- **결과 평가**: 데이터셋과 평가 도구를 사용하여 정확성과 품질을 측정합니다.
- **맞춤형 파이프라인 지원**: 고유한 데이터 및 모델과 함께 작동합니다.
챗봇, 번역 도구 또는 맞춤형 AI 앱을 구축하든, **LangWatch**는 LLM이 최고 수준의 결과를 제공하도록 돕습니다. 실제로 작동하는 것을 볼 준비가 되셨나요? **LangWatch**를 설치하고 사용해 봅시다!

LangWatch 설치 및 사용 단계별 가이드
전제 조건
시작하기 전에 다음이 필요합니다:
- **Python 3.8+**: 프로젝트 실행용 (python.org).
- **LangWatch 계정**: app.langwatch.ai에서 가입하세요.
- **OpenAI API 키**: 챗봇 데모용 (platform.openai.com에서 발급).
- **코드 편집기**: VS Code, PyCharm 또는 선호하는 IDE.
- **Git 및 Docker**: 선택 사항, 로컬 **LangWatch** 설정을 위함.
1단계: LangWatch 가입
**계정 생성**:
- app.langwatch.ai로 이동하여 무료 계정을 생성하세요.
- "AI Bites"라는 기본 프로젝트가 생성됩니다. 이 튜토리얼에서는 이 프로젝트를 사용하지만, 원한다면 새 프로젝트를 만들 수도 있습니다.
**API 키 받기**:
- **LangWatch** 대시보드에서 **프로젝트 설정**으로 이동하여
LANGWATCH_API_KEY
를 찾으세요. 나중에 필요합니다.

2단계: LangWatch를 사용하여 Python 프로젝트 설정
간단한 챗봇을 추적하기 위해 Python 프로젝트를 만들고 **LangWatch**를 통합해 봅시다.
- **프로젝트 폴더 생성**:
- 새 디렉토리(예:
langwatch-demo
)를 만들고 해당 디렉토리로 이동하세요:
mkdir langwatch-demo
cd langwatch-demo
2. **가상 환경 설정**:
- 의존성을 격리하기 위해 가상 환경을 생성하고 활성화하세요:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
3. **LangWatch 및 의존성 설치**:
- **LangWatch** 및 Chainlit(챗봇 UI용)을 설치하세요:
pip install langwatch chainlit openai
4. **챗봇 코드 생성**:
- `app.py`라는 파일을 생성하고 이 코드를 붙여넣어 OpenAI의 GPT-4o-mini 모델을 사용하는 간단한 챗봇을 구축하세요:
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 키 설정**:
- OpenAI API 키를 환경 변수로 추가하세요:
export OPENAI_API_KEY="your-openai-api-key" # On Windows: set OPENAI_API_KEY=your-openai-api-key
6. **챗봇 실행**:
- Chainlit 앱을 시작하세요:
chainlit run app.py
- http://localhost:8000을 열어 챗봇 UI를 확인하세요. 작동하는지 확인하기 위해 테스트해 보세요!

3단계: 추적을 위한 LangWatch 통합
이제 챗봇의 메시지를 추적하기 위해 **LangWatch**를 추가해 봅시다.
- **LangWatch를 위해
app.py
수정**:
- `app.py`를 업데이트하여 **LangWatch**를 포함하고 `main` 함수에 `@langwatch.trace()` 데코레이터를 추가하세요:
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 앱을 다시 시작하세요:
chainlit run app.py
- 챗봇 UI에서 "오늘의 프랑스어 단어는 무엇인가요?"라고 질문하세요.
- **LangWatch** 대시보드를 확인하세요:
- app.langwatch.ai로 이동하세요.
- 왼쪽 사이드바에서 **메시지**를 선택하세요.
- 질문과 챗봇의 응답(예: "Aujourd’hui! 🇫🇷😊")이 추적되는지 확인하세요.

4단계: 챗봇 평가를 위한 워크플로우 설정
챗봇의 성능을 평가하기 위해 **LangWatch**에서 데이터셋과 평가 도구를 생성해 봅시다.
- **데이터셋 생성**:
- **LangWatch** 대시보드에서 **데이터셋**으로 이동하여 **새 데이터셋**을 클릭하세요.
- 최소한 하나의 질문과 답변이 포함된 간단한 데이터셋을 추가하세요. 예를 들어:
질문 | 예상 답변 |
---|---|
오늘의 프랑스어 단어는 무엇인가요? | Aujourd’hui |
2. **평가 도구 설정**:
- **LangWatch** 대시보드에서 **평가 도구**로 이동하세요.
- **LLM 답변 일치** 평가 도구를 작업 공간으로 드래그하세요.
- 구성하세요:
- **입력 질문**을 데이터베이스 입력 질문(예: "오늘의 프랑스어 단어는 무엇인가요?")으로 설정하세요.
- **예상 출력**도 데이터베이스의 응답(예: "Aujourd’hui")으로 설정하세요.
- 선택적으로, 다양한 평가를 위해 평가 도구의 LLM 모델(예: Llama, Gemini 또는 Claude Sonnet)을 변경할 수 있습니다.

3. **평가 도구 실행**:
- **여기까지 워크플로우 실행**을 클릭하여 평가 도구를 테스트하세요.
- 챗봇의 응답이 예상 출력과 일치하는지 확인하기 위해 결과를 확인하세요.

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

4. **워크플로우 평가**:
- 상단 내비게이션 바에서 **워크플로우 평가**를 클릭하고 **테스트 항목**을 선택하세요.
- 이는 데이터셋에 대해 전체 워크플로우를 평가합니다. 짧은 처리 시간 후에 결과가 나타납니다.

5단계: 워크플로우 최적화
평가가 완료되면 챗봇의 성능을 최적화해 봅시다.
1. **최적화 실행**:
- **LangWatch** 대시보드 상단 내비게이션 바에서 **최적화**를 클릭하세요.
- 챗봇의 프롬프트를 미세 조정하려면 **프롬프트만**을 선택하세요.
- 최적화가 완료될 때까지 몇 분 기다리세요.

2. **개선 사항 확인**:
- 대시보드에서 최적화된 결과를 검토하세요. **LangWatch**의 제안에 따라 응답 정확도 또는 품질이 향상된 것을 확인할 수 있습니다.

6단계: 선택 사항 - 로컬 LangWatch 설정
민감한 데이터로 테스트하기 위해 **LangWatch**를 로컬에서 실행하고 싶으신가요? 다음 단계를 따르세요:
- **저장소 복제**:
git clone https://github.com/langwatch/langwatch.git
cd langwatch
2. **환경 설정**:
- 예제 환경 파일을 복사하세요:
cp langwatch/.env.example langwatch/.env
3. **Docker로 실행**:
- **LangWatch** 서버를 시작하세요:
docker compose up -d --wait --build
4. **대시보드 접속**:
- http://localhost:5560을 열어 **LangWatch**의 온보딩 흐름으로 진입하세요.
- 프롬프트에 따라 로컬 인스턴스를 설정하세요.
참고: 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**로 실험을 시작하세요.
개발팀이 최대한의 생산성으로 함께 작업할 수 있는 통합된 올인원 플랫폼을 원하십니까?
Apidog는 귀하의 모든 요구를 충족하며, Postman을 훨씬 저렴한 가격에 대체합니다!