이것은 인터랙티브 노트북입니다. 로컬에서 실행하거나 아래 링크를 사용할 수 있습니다:
Not Diamond를 사용한 LLM 프롬프트용 커스텀 라우팅
이 노트북은 평가 결과를 기반으로 LLM 프롬프트를 가장 적절한 모델로 라우팅하기 위해 Weave와 Not Diamond의 커스텀 라우팅을 사용하는 방법을 보여줍니다.프롬프트 라우팅
복잡한 LLM 워크플로우를 구축할 때 Users는 정확도, 비용 또는 호출 지연 시간에 따라 서로 다른 모델에 프롬프트를 전달해야 할 수 있습니다. Users는 Not Diamond를 사용하여 이러한 워크플로우의 프롬프트를 요구 사항에 맞는 적절한 모델로 라우팅함으로써, 모델 비용을 절감하면서 정확도를 극대화할 수 있습니다. 어떤 데이터 분포에서도 단일 모델이 모든 쿼리에 대해 다른 모든 모델보다 뛰어난 성능을 보이는 경우는 드뭅니다. 각 LLM을 호출할 시점을 학습하는 “메타 모델”로 여러 모델을 결합하면, 개별 모델의 성능을 능가할 수 있으며 그 과정에서 비용과 지연 시간까지 줄일 수 있습니다.커스텀 라우팅
프롬프트용 커스텀 라우터를 트레이닝하려면 세 가지가 필요합니다:- LLM 프롬프트 세트: 프롬프트는 문자열이어야 하며 애플리케이션에서 사용되는 프롬프트를 대표할 수 있어야 합니다.
- LLM 응답: 각 입력에 대한 후보 LLM의 응답입니다. 후보 LLM에는 지원되는 LLM과 자체 커스텀 모델이 모두 포함될 수 있습니다.
- 후보 LLM의 입력 응답에 대한 평가 점수: 점수는 숫자이며, 요구 사항에 맞는 어떤 메트릭도 될 수 있습니다.
트레이닝 데이터 설정
실제로는 자체 평가(Evaluations)를 사용하여 커스텀 라우터를 트레이닝하게 됩니다. 하지만 이 예제 노트북에서는 코딩 작업을 위한 커스텀 라우터를 트레이닝하기 위해 HumanEval 데이터셋에 대한 LLM 응답을 사용합니다. 먼저 이 예제를 위해 준비한 데이터셋을 다운로드한 다음, LLM 응답을 각 모델에 대한 EvaluationResults로 파싱하는 것부터 시작합니다.커스텀 라우터 트레이닝
이제 EvaluationResults가 준비되었으므로 커스텀 라우터를 트레이닝할 수 있습니다. 계정을 생성하고 API 키를 생성했는지 확인한 다음, 아래에 API 키를 입력하세요.


커스텀 라우터 평가하기
커스텀 라우터 트레이닝을 마친 후에는 다음 중 하나를 평가할 수 있습니다.- 트레이닝 프롬프트를 제출하여 확인하는 인샘플(in-sample) 성능
- 새로운 프롬프트 또는 별도로 떼어놓은 프롬프트를 제출하여 확인하는 아웃오브샘플(out-of-sample) 성능
