LLMãããã¯ãéçºã«ãããç¬èªè©äŸ¡åºæºãšããŒã¿ã»ããã®äœãæ¹ã®èå¯
ãããã¯ãã®äžã§LLMã䜿ã£ãæ©èœãäœãæã«ç¹ã«éèŠãªãã®ã¯è©äŸ¡åºæºãšããŒã¿ã»ããã§ãã
...ãšããã人ã«ãã£ãŠã¯è³æ¥µåœããåã«æãã話ã§ã¯ãããšæãã®ã§ãããç§èªèº«ã倧åã«ããŠããªãã£ãããå Žåœããçãªããã³ããä¿®æ£ã«çµå§ããçµéšãåŸãŸããããŸããæè¿LLMèªèº«ã«ããã³ãããã¥ãŒãã³ã°ãããŠãããæ¹æ³ã調ã¹ãŠããã®ã§ãããããããè¯ããããªææ³ã«ã¯èŠãããã®ã®ããã¡ããšè©äŸ¡åºæºãšãããèªåã§è¡ãæ¹æ³ or/and ããã³ããã®ã€ã³ããã/æåŸ ããã¢ãŠããããã®ããŒã¿ã»ãããããããšãåæãšããŠããŸãã
ãããçŸå®çã«ã¯ãããã¯ãå
ã§äœ¿ãç¬èªã®ããã³ããã«å¯ŸããŠãåæã§ãæ±ããè©äŸ¡åºæºãããŒã¿ã»ãããæããããšããã®ã¯äžã
ã«ç¡çããããããããåŠäœã«é«éã«äœãäžããããããšããããšã«èå³ãæ¹§ããŠããŸããã
æ¬èšäºã§ã¯æ¹ããŠãããããªã倧äºãªã®ãã®èšèªåãšãäœã£ãŠãããŸã§ã®ããã»ã¹ã¯ã©ããªãã®ãè¯ãããããèå¯ããŠãããŸãã
ã€ã³ãããã¯ã·ã§ã³: LLMã䜿ã£ãæ©èœããªãªãŒã¹ãããŸã§ã«å¿ èŠãªããš
LLMã¯Howãªã®ã§ãéåžžã®ãããã¯ãéçºã«ãããæ©èœãšèãæ¹ã¯å€ãããªãã¯ãã§ãå¿
èŠãšãããŠããèŠæ±ãæºããããŠããããã確èªã§ããããªãªãŒã¹ã§ããŸããã€ãŸãããããªæãã®ããŒã¿ãåæãšããæã«ãããããªæãã®ã¢ãŠãããããLLMã«ã¯è¿ããŠæ¬²ããããšããæåŸ
ãæ©èœèŠä»¶ãšããŠããã¯ãã§ãã
ãã®æåŸ
ããæ¯ãèããããã€ãã®è©äŸ¡åºæºãšããŠå®çŸ©ãããã®è©äŸ¡åºæºãæºãããŠãããã確èªããããã«ã¯ããããã«åããããã³ãããžã®ã€ã³ããããå¿
èŠãªãããããã ããŒã¿ã»ãã ãšããŠæ§ç¯ããŸãã
è§Šã£ãããšããªãæ¹ã ãšã€ã¡ãŒãžãã¥ãããããããªãã®ã§å ·äœäŸãæžããšã次ã®ãããªããã³ããã«å¯ŸããŠè©äŸ¡åºæºã¯æ¬¡ã®ãããªãã®ãã€ã¡ãŒãžããŠããŸãã
⌠ããã³ãã
ããªãã¯åªç§ãªæ
è¡ã¢ã·ã¹ã¿ã³ãAIã§ãã
{place_name}ãšããå Žæã®èгå
ã«é¢ããã§ããéãå
·äœçã§åœ¹ç«ã€æ
å ±ãæäŸããŠãã ããã
ãã ããå人çãªæèŠã¯å·®ãæ§ããããã«ããŸãããã
⌠è©äŸ¡åºæº
- {place_name}ã®äž»èŠãªèгå
ã¹ããããç¶²çŸ
ã§ããŠããã
- å芳å
ã¹ãããã®ç¹åŸŽãèŠã©ãããå
·äœçã«èª¬æã§ããŠããã
- ã¢ã¯ã»ã¹æ¹æ³ãæèŠæéãªã©ãå®çšçãªæ
å ±ãæäŸã§ããŠããã
- 䞻芳çãªæèŠãè¿°ã¹ãŠããªãã
- æããäžå¯§ãªå£èª¿ãç¶æã§ããŠããã
ãããŠããŒã¿ã»ããã¯æ¬¡ã®ãããªããã³ããã®å€æ°ã®éšå(ã€ã³ããã)ãšæåŸ ããã¢ãŠããããã®ãã¢ã®ãªã¹ããæ³å®ããŠããŸãã
[
{
"input": {
"place_name": "éå"
},
"output": "éåã¯ç¥å¥å·çã«ãã人æ°ã®èгå
å°ã§ãã以äžã®ãããªèŠã©ããããããŸãã\n\n1. 鶎岡å
«å¹¡å®®: æºé Œæãããã®ç¥ç€Ÿãæ¬æ®¿ãèæ®¿ãåœå®ã«æå®ãããŠããŸãã\n2. é«åŸ³é¢: æåãªãéå倧ä»ãããããŸããé«ã11.3mã®é
é é¿åŒ¥éåŠæ¥åº§åã¯å§å·»ã\n3. é·è°·å¯º: æ¬å°ã®åäžé¢èгé³è©è©ã¯é«ã9.18mã®æšé ã§ãæ¥æ¬æå€§çŽã§ãã\n4. éåæåŠé€š: éåãããã®æåŠè
ã玹ä»ãæŽå²ç建é ç©ã®äžã§äœåãæ¥œãããŸãã\n5. æ±ãå³¶: åŒå€©æ©ã§æž¡ããæµ·ã«æµ®ãã¶ãã¯ãŒã¹ãããã屿ç¯å°ããã®çºãã¯çµ¶æ¯ã\n\nã¢ã¯ã»ã¹ã¯ãæ±äº¬é§
ããJR暪é è³ç·ã§çŽ1æéãæ±ãå³¶é»éãæ±ãå³¶é§
ãããã¹ã§åæãåãã®ãããããã§ããæèŠæéã¯1æ¥ããã°äž»èŠã¹ããããåããŸããæ©ããããéŽãšå£ç¯ã«åã£ãæè£
ã§èгå
ãæ¥œããã§ãã ããã"
},
{
"input": {
"place_name": "ç®±æ ¹"
},
"output": "ç®±æ ¹ã¯ç¥å¥å·çã«ãã人æ°ã®èгå
å°ã§ãã以äžã®ãããªèŠã©ããããããŸãã\n\n1. ç®±æ ¹ç¥ç€Ÿ: 1200幎以äžã®æŽå²ãããç±ç·ããç¥ç€Ÿãå¹³åã®é³¥å±
ãä¹é éŸç¥ç€Ÿãæåã\n2. èŠãæ¹: é芧è¹ãããŒããŠã§ã€ã§æ¹äžããã®æ¯è²ã楜ãããŸããæµ·è³è¹ã人æ°ã\n3. 倧æ¶è°·: ç®±æ ¹å±±ã®äžå¿éšã«ããç«å±±å°åž¯ãåŽç
ãç¡«é»èãäœæã§ããŸãã\n4. 圫å»ã®æ£®çŸè¡é€š: èªç¶è±ããªæ£®ã®äžã«éå€åœ«å»ãç¹åšããã«ãœã®äœåããããŸãã\n5. å°ç°åå: 颿±å€§åã®åæ¡æ°ãããã®åã倩å®é£ããã¯çžæš¡æ¹ŸãŸã§äžæã§ããŸãã\n\nã¢ã¯ã»ã¹ã¯ãæ±äº¬é§
ããå°ç°åé§
ãŸã§æ°å¹¹ç·ã§çŽ35åãããããç®±æ ¹ç»å±±ééã§æ¹¯æ¬é§
ãŸã§è¡ããåæãåšéããã®ãããããã§ããç®±æ ¹ããªãŒãã¹ã賌å
¥ãããšäº€éæ©é¢ãä¹ãæŸé¡ã«ãªã䟿å©ã§ããæž©æ³ã«å
¥ããªãçæ¿ããã¿ãªã«ã®æºåãå¿ããã«ã"
}
]
ã¢ãŠããããäŸã¯ãã¥ãŒãã³ã°ããŠããã«ããã£ãŠãã¹ãã§ã¯ãªãã§ããã
- Few shot ã«å¿çšã§ãã
- é¢ä¿è éã§èŠæ±ã®å ·äœçãªã€ã¡ãŒãžã®ããåãããã§ãã
- Embedding ã䜿ã£ãé¡äŒŒåºŠè©äŸ¡ã«äœ¿ãã
- DSPyãªã©ã®ãã¬ãŒã ã¯ãŒã¯ã§ããã³ããã®èªåæ¹åã«äœ¿ãã(ãã)
ãªã©æ§ã ãªãšããã§æŽ»ããã®ã§äœã£ãŠãããæ¹ãããã®ããªãšããææã§ãã
ããŠãããããäœã£ãŠãããªããšã©ããªãããã«ã€ããŠã§ãã
- ãã¥ãŒãã³ã°ãã人ã®å®æ§çãªå€æã«ãªãããLLMã®æ¯ãèãã«æºãããåºã = ãããã¯ãã«ãšã£ãŠæãŸããæ¯ãèãã§å®å®ããªã
- ãã¥ãŒãã³ã°èªäœãåºãŠãã課é¡ãã²ãããæœ°ãå Žåœããçãªå¯Ÿå¿ã«ãªããã¡
- éå»ã®è©äŸ¡åºæºããªããšããã®åŸãã®ããã³ãããå€ããæ(ã¢ãã«ãå€ããæãªã©)ã«äœãå®ããããŠè¿œå ãããæç« ãªã®ãåãããªããŠãããã¥ãããæ°ä»ããŠãªã芳ç¹ã§ãã°ã¬ãèµ·ããå¯èœæ§ããã
- ã€ãã§ã«èšããšéå»ã®è³ç£ããªãã®ã§å床ããŒã¿ã»ããã¥ãããè¡ã
ãªã©ã®äºè±¡ãèµ·ããŸãããšãããç§ã¯èµ·ãããŸãã...ã
ã®ã§çæçã«ãé·æçã«ãè©äŸ¡åºæºãšããŒã¿ã»ãããšããè³ç£ã¯ãã£ããç©ã¿äžããŠããå¿
èŠããããŸãã
æ¬èšäºã¯ããããäœã£ãŠããããã«ã¯ã©ããããããã®ããèããããã«
- ãªãããããè©äŸ¡ã¯ãããªã«å€§å€ãªãã ã£ãïŒãèãã -> ãã®æ§è³ªããããã»ã¹ãèŠå®ããããšèãããã
- è©äŸ¡ãè¡ã£ãŠããã«ããã£ãŠã®HowãæŽçãã -> ææ®µãçè§£ããŠãªããšå ·äœãèãããããã«ãªããã
- ããã»ã¹ãèå¯ãã
ãšããé çªã§æžããŠãããŸãã
ãªãLLMã䜿ã£ãæ©èœã®è©äŸ¡ã¯é£ããã®ã
æåã«ããªããããã¯ãéçºã«ãããLLMã®è©äŸ¡ã¯é£ããã®ãïŒããèšèªåããããšã«ãã£ãŠãããããæ§è³ªãæã£ãŠããŠé£ããããããããã颚ã«é²ããªããã°ãããªãããšããã®ãèŠããŠããããªãšããäºæãããããããŸãã¯ãã¡ãã«ã€ããŠæ³ãã銳ããŠã¿ãããšæããŸãã
çµè«ããè¿°ã¹ããšä»¥äžã®2ã€ãçç±ãªã®ããªãšæããŸããã
- LLMã¯ã€ã³ããããšã¢ãŠããããã®"å¹ "ãåºéãããã
- èªåãã¡ã®ãããã¯ãç¬èªèŠä»¶ã«å¯Ÿããè©äŸ¡åºæºãšããŒã¿ã»ããã¯ååšããªã
LLMã¯ã€ã³ããããšã¢ãŠããããã®"å¹ "ãåºéãããã
LLMã®ç¹åŸŽã¯ãèªç¶èšèªãšããéæ§é åããŒã¿ãã€ã³ããããšããŠæ±ããç¹ã«ããããŠãŒã¶ãŒã¯èªç±ã«è³ªåãèŠæ±ãå
¥åã§ããŸãã(ãããã¯ãå
ã§äœ¿ãå Žåã¯ããã³ããã¯åºå®ã®éšåãå€ããšã¯æããŸãã)
ãã®èªç±åºŠã®é«ããLLMã®åŒ·åãã§ããäžæ¹ã§ãè©äŸ¡ãé£ããããŠããèŠå ã§ããããŸãã
äŸãã°äŒè©±ãããçšéã§LLMã䜿ã£ãŠãããšããŠããŠãŒã¶ã¯éåžžã«ç±å¿ã«å ¥åããŠãããããšãããã°ãAIçžæã«ã¯æ·¡çœãªã¡ãã»ãŒãžã°ããéãããšããããŸãã

ãã®å€æ§æ§ããã«ãç¶²çŸ çã«ãã¹ãã±ãŒã¹ãçšæããã®ã¯éåžžã«å°é£ã§ããã©ããªã«ããããã®ããªãšãŒã·ã§ã³ãèããŠããå®éã®ãŠãŒã¶ãŒãè¡ãã§ãããå ¥åãå®å šã«ã«ããŒãããã¯äžå¯èœã§ãã
ãããŠã€ã³ãããã®å€æ§æ§ã ãã§ãªãã¢ãŠããããã®äžç¢ºå®æ§ã®é«ããããäžã€ã®é£ããã§ãã
LLMã¯ç¢ºççãªæ¯ãèãããããããåãå
¥åã«å¯ŸããŠããæ¯åç°ãªãåºåãçæãããå¯èœæ§ããããŸãã
æ®æ®µã®ããã°ã©ãã³ã°ã§ããã°ãå
¥åãšåºåã®å¯Ÿå¿é¢ä¿ãå®çŸ©ããããã«åºã¥ããŠãã¹ããè¡ãã°ååã§ããããããããLLMã®å Žåãããå
¥åã«å¯ŸããŠæåŸ
ãããåºåãäžéããšã¯éããŸãããããããããçšåºŠã®å¹
ãæã£ãåºåãçæãããããšãèªç¶ã§ãã
ãã¡ããtemperatureãªã©ã®ãã©ã¡ãŒã¿ã®å€ãäžããã°ããçšåºŠåºå®ã§ãããã®ã®ããã®"æºãã"ã¯ã¯ãªãšã€ãã£ããã£ãšãæãããããããçšéã«ãã£ãŠã¯å質ãç ç²ã«ããããŸããã
ãããã®ãããªæ§è³ªããäºåã«(ãšããããªãªãŒã¹åŸã§ã)芳ç¹ãç¶²çŸ
ããããšã¯ãããäžå¯èœãªãããè©äŸ¡ã®èгç¹ãæ¢çŽ¢çã«ããå¿
èŠããããŸãã
ããããã§ãããçãããããã³ãããã¥ãŒãã³ã°ã®éã«ãäœåºŠãLLMãšå¯Ÿè©±ããŠããå
ã«ãããããããªã¿ã€ãã®æ®å¿µã¢ãŠãããããåºãŠããã®ãâŠããšæããããšã¯äžåºŠãäºåºŠã§ã¯ãªãã§ãããã
ããããã€ã³ããããšã¢ãŠããããã®"å¹ "ãæã ãLLMã䜿ãçç±ã§ãããè©äŸ¡ãé£ãããããŠããçç±ã§ããããŸãã
èªåãã¡ã®ãããã¯ãç¬èªèŠä»¶ã«å¯Ÿããè©äŸ¡åºæºãšããŒã¿ã»ããã¯ååšããªã
äžèšã¯LLMå šè¬ã®è©äŸ¡ã«ã€ããŠã®è©±ã§ãããããããã¯ãå ã«ãããLLMã®è©äŸ¡ã¯ãç¹å®ã®ã€ã³ããã + ããã³ãããã³ãã¬ãŒãã«ãã£ãŠã§ããããã³ãããã¿ã¹ã¯ãããŸãããªããŠãããããèŠããã®ã§ãã
è³æ¥µåœç¶ã®è©±ã§ã¯ããã®ã§ãããæã ãäœããããã¯ãã«ã¯ç¬èªã®èŠä»¶ãããããããããã®ãããã¯ããªãã§ã¯ã®äŸ¡å€ãçã¿åºããŸããHuggingFaceãGitHubãªã©ã«ã¯å ¬éãããããŒã¿ã»ããããã³ãããŒã¯ã®ã³ãŒããããããååšããŸããããããããã®ãŸãŸã®åœ¢ã§äœ¿ããã±ãŒã¹ã¯éåžžã«å°ãªãã¯ãã§ãã
ãªã®ã§ãæã ã¯ãããã¯ãå ã§äœ¿ãããã³ããã®è©äŸ¡åºæºãããŒã¿ã»ããã¯å šãŠéœåºŠèªåãã¡ã§çšæããå¿ èŠããããŸããããçš®æ°æ©èœãèãã床ã«"ã³ãŒã«ãã¹ã¿ãŒãåé¡"ã«ããããããšèšã£ãŠããããããããŸããã
ãã ãããçšåºŠã¯éå»ã®ããŒã¿ã»ãããè©äŸ¡åºæºã»è©äŸ¡ã®å®è¡ææ³ã"è³ç£"ãšããŠè²¯ããŠããã°ãæ°ããåé¡ã«å¯ŸããŠãããçšåºŠå¯Ÿå¿ã¯ãããããªã£ãŠããã®ããªãšèããŠããŸãã
Howã«ã€ããŠæŽçãã
次ã«ããããªæ§è³ªãèžãŸããŠã©ããã£ãŠè©äŸ¡åºæºãšããŒã¿ã»ãããäœã£ãŠããããèããŠãããããšããã§ããããã®åã«å ·äœã®Howãç¥ã£ãŠããªããšãããã»ã¹ã«ã€ããŠãããŸãå ·äœçã«èããããªããšæãã®ã§ããããäžåºŠæŽçããŠã¿ãããšæããŸãã
æåã«å
šäœåãšããŠãLangSmithã®è©äŸ¡ã®åç»ã·ãªãŒãºã«å人çã«ããã奜ããªå³ãããã®ã§åŒçšããŸãã
Landscape of personalized evals(ç¬èªè©äŸ¡ã®æŠèг)ãšé¡ããŠè©äŸ¡ã«ãŸã€ãããã®ãæããŠãããŠããŸãã

åŒçš: Why Evals Matter | LangSmith Evaluations - Part 1
次ã®4ã€ã®ç»å Žäººç©ã§æ§æãããŠãããšç޹ä»ããŠããã詳ããåã ã®èŠçŽ ã«ã€ããŠã¯åŸè¿°ããŸãããããããã®äžã§ãåè§£ããå³ãäœã£ãŠãããŠããŸãã
- Dataset
- Evaluator
- Task
- Applying Evals
äžæŠãã®èšäºã§ã¯ãªãªãŒã¹ãŸã§ã®æµãã第äžã¹ã³ãŒãã«ããã®ãš(ãªãªãŒã¹åã«ã§ããè©äŸ¡ã«ãéçãããã®ã§ããªãªãŒã¹åŸã®æ¹åãããŒãããçšåºŠåæã«ããªããšãããªããšãã話ã¯ããã€ã€ã)ãTask ãåäžã«ããè€æ°çµã¿åãããããã«ããRAGãæ©æ¢°åŠç¿ã§ãªãã³ãŒããªã©ã¯å«ãŸãããã³ããã«çµã£ãŠèããŸãã
ãªã®ã§ãããã§ã¯
- è©äŸ¡åºæºãšã¯å ·äœçã«ã©ããªãã®ã
- è©äŸ¡ãã©ããã£ãŠè¡ãã®ã(Evaluator)
- ããŒã¿ã»ãããã©ããã£ãŠäœãã®ã(Dataset)
ã«ã€ããŠæŽçããŠãããŸãã
è©äŸ¡åºæºãã©ãäœãã
LLMã®ã¢ãŠããããã®"è©äŸ¡"ããšäžå£ã«èšã£ãŠããè©äŸ¡åºæºã¯æ§ã
ãªç®çããããŸãã
ããã§ãããããåé¡ããšèããŠããããŸã倧ããã¯ããããã¯ãèŠä»¶ããšãã¬ãŒãã¬ãŒã«ãã«å€§å¥ã§ãããã§ãã
ãããã¯ãèŠä»¶
èªãã§åã®ããšãããããã¯ãèŠä»¶ã«ç §ããåãããŠããã®ããã³ãããæã£ãŠãã圹å²ãšã¯äœããèšèªåãããã®ã§ãã
ãã®äžã§ãããžãã£ããªèŠæ±ãšãã¬ãã£ããªèŠæ±ã«åãããŸãã
ããžãã£ã - ãããããçããè¿ã£ãŠããŠæ¬²ããã
äŸãã°ãæ
è¡ã¢ã·ã¹ã¿ã³ãã¢ããªã®å Žåã
- ãç®çå°ã®äž»èŠãªèгå ã¹ããããç¶²çŸ çã«æç€ºããŠã»ããã
- ãå芳å ã¹ãããã®é åãèŠã©ãããå ·äœçã«èª¬æããŠã»ããã
- ãã¢ã¯ã»ã¹æ¹æ³ãæèŠæéãªã©ãå®çšçãªæ
å ±ãæäŸããŠã»ããã
ãšãã£ãèŠä»¶ãèããããŸãã
ãã¬ãã£ã - ãããããçããåºãªãã§æ¬²ããã
äŸãã°ãåããæ
è¡ã¢ã·ã¹ã¿ã³ãã¢ããªã®å Žåã
- ã䞻芳çãªæèŠãè©äŸ¡ãè¿°ã¹ãªãã§ã»ããã
- ãæ å ±ãå€ãã£ãããäžæ£ç¢ºã ã£ããããªãã§ã»ããã
- ã質åã®æå³ãå€ããç¡é¢ä¿ãªæ
å ±ãæäŸããªãã§ã»ããã
ãšãã£ãèŠä»¶ãèããããŸãã
ã«åãããŸãã
ã¬ãŒãã¬ãŒã«
è¥å¹²äžè¿°ãããã¬ãã£ãã®é ç®ã«è¿ããã®ã§ããããããã¯ãèŠæ±ã«ïŒãããŸã§ïŒé¢ä¿ãªã
- èšèªã¯æ¥æ¬èªã
- å人æ å ±ãå«ãŸããŠããªãã
- åä¿èªãå«ãŸããŠããªãã
- etc.
ãªã©ãªã©å
šè¬çã«å®ãããå質ã«ã€ããŠæããŸãã
çµæ§ãã¡ãã¯ã©ããªãããã¯ãã§ãå®ããããšããã ã£ããããŠãæ±çšçãªã©ã€ãã©ãªãè²ã
ååšããŠãããããŸãã
ç¹ã«ãã¡ãã£ãšåã«ç޹ä»èšäºãæžããã®ã§ãããGuardrails Hubãšãããµã€ãã»ã©ã€ãã©ãã®ãæ£ã«ãããªããªããŒã·ã§ã³é¢æ°ãè©°ãåããã«ãªã£ãŠããã®ã§èŠãŠã¿ãŠãã ãã
éæ©èœèŠæ±ã«ã€ããŠ
ãŸããä»åã¯LLMã®ã¢ãŠããããèªäœã«å¯Ÿããè©äŸ¡ãšããŒã¿ã»ãããåœé¡ãªã®ã§ãããçŸå®çã«ã¯ããã³ããã«ã¯ããŒã¯ã³æ°(=LLMå©çšã«ãããè²»çš)ãã¬ã€ãã³ã·ãŒãªã©ã®éæ©èœèŠæ±ãååšããŸããããããå®éã®äœéšã«åœ±é¿ãåãŒããå Žåã«ãã£ãŠã¯ã¢ãŒããã¯ãã£ã«ãé¢ãã£ãŠããããæ©ãã«æèããŠããããšãéèŠã§ãã
以äžãè©äŸ¡ã®åé¡ã«ã€ããŠèŠãŠããŸããããæèŠçã«ã§ããç©éã¢ãã«ã«åœãŠã¯ããŠèããŠã¿ããšãã£ããæŽçã§ããæ°ãããŸãã

åŒçš: ç©éã¢ãã«ããæ¢ãå質ã®ããæ¹ãšã¯
ã¬ãŒãã¬ãŒã«ã¯ãåœããåå質ãããã¬ãã£ãã¯ãäžå çå質ããããžãã£ãã¯ãäžå çå質ããšãé åçå質ãã«ãŸããããã¿ãããªæãã§ãããã³ã°ãããã®ã§ã¯ãªãããšãåè ããæäœéå®ãã€ã€ãããŒã¿ãšè©äŸ¡ãå¢ãããªããåŸã ã«åŸè ã®åè³ªãæºãããããã«ããŠããã€ã¡ãŒãžã§ãã
ããã§ã¯æ¬¡ã¯ãããããŠäœã£ãè©äŸ¡åºæºãå®éã«ã©ãéçšããŠããããè©äŸ¡ã®æ¹æ³ã«ã€ããŠèŠãŠãããããšæããŸãã
è©äŸ¡ã¯ã©ããã£ãŠè¡ãã
è©äŸ¡åºæºãã§ãããšããŠã次ã«å ·äœçã«ã©ããã£ãŠè©äŸ¡ãè¡ããã課é¡ãšãªããŸããèããããšãšããŠã¯ãè©äŸ¡ã®å ·äœçãªã¢ãŠããããã®åœ¢ã¯ã©ããªãã®ãããšãããã誰ãã©ã®ããã«è¡ãã®ããã®2ç¹ããããŸãã
è©äŸ¡ã®å ·äœçãªã¢ãŠããããã®åœ¢ã¯ã©ããªãã®ã
è©äŸ¡ã®å ·äœçãªã¢ãŠããããã¯ãããŒã¿ã»ããå ã®åããŒã¿ã«å¯ŸããŠLLMãå®è¡ããçµæã«ãè©äŸ¡åºæºãé©çšããçµæãšããŠåŸãããŸãã
çæ³çã«ã¯ãè©äŸ¡çµæã¯æ°å€ã§è¡šçŸãããããšãæãŸããã§ããããäŸãã°ã0ãã1ã®éã®æ°å€ã§ã¹ã³ã¢ãªã³ã°ããæ¹æ³ããããŸããããã«ãããè€æ°ã®ããã³ãããèšå®ã®çµæãæ¯èŒããããæç³»åã§ã®å€åã远跡ãããããããšã容æã«ãªããŸãã
ãã ããè©äŸ¡åºæºã«ãã£ãŠã¯ãæ°å€åãé£ããå ŽåããããŸãããã®ãããªå Žåã¯ãçåœå€ïŒTrue/FalseïŒãçšããŠãè©äŸ¡åºæºãæºãããŠãããã©ããã衚çŸããããšããããŸããäŸãã°ããåºåã«ç¹å®ã®ããŒã¯ãŒããå«ãŸããŠãããããšãã£ãåºæºã¯ãçåœå€ã§è¡šçŸããã®ãé©ããŠããŸãã
ãŸããè©äŸ¡çµæã¯ãåã ã®ããŒã¿ã«å¯Ÿããçµæã ãã§ãªããããŒã¿ã»ããå šäœã«å¯Ÿããéèšå€ãšããŠã衚çŸãããããšãäžè¬çã§ããäŸãã°ãæ°å€åãããè©äŸ¡çµæã®å¹³åå€ãäžå€®å€ãçåœå€ã®å²åãªã©ã§ããããã«ãããããã³ãããã·ã¹ãã å šäœã®æ§èœãç·åçã«å€æããããšãã§ããŸãã
äŸãšããŠäžèšã¯LangSmithã§è©äŸ¡ãå®è¡ããæã®çµæç»é¢ã§ãã

誰ãè©äŸ¡ããã®ã
倧ããã¯æ¬¡ã®3ã€ããããŸãã
- 人éãè¡ã
- LLMãè¡ã(LLM-as-a-judge)
- ããã°ã©ããã«ã«è¡ã
äž»ã«ã¯ãéãã¢ãããŒã·ã§ã³ã®å質ãæéãã®èŠçŽ ã倩秀ã«ãããŠéžãã§ãããŸãã
人éãè¡ã
äžçªãéãæéã䜿ããŸãããã¢ãããŒã·ã§ã³ã®å質ã®ä¿¡é Œãé«ããªããšããã§ãã
ããããæåã¯ç€Ÿå
ã®ãããã¯ãéçºã«é¢ãã人ãè¡ãããšãå€ããšæããŸãã
ãããã¯ã¢ãããŒã·ã§ã³ããã人ãéã£ããããããšããããŸããã¡ãã£ãšç§ã¯éã£ãããšããªãã®ã§ã©ãã§éããšãããã®ç¥èŠã¯ãªãã®ã§ãããäžèšã®æ¬ã«ãŠ Amazon Mechanical Turk ãšãããµãŒãã¹ã§äŸé Œãã§ãããšããã®ãåŠãã ããšã¯ãããŸãã
ã©ããªåœ¢ã§ã¢ãããŒã·ã§ã³ãäŸé Œããã«ãããèªèãã¹ãéèŠãªããšãšããŠããã®äººã¯ãã®ã¿ã¹ã¯ã®ã¢ãããŒã·ã§ã³ã«çžå¿ãã人ãããšãã芳ç¹ããããŸãã
åãããããã®ããã¡ã€ã³ç¹åã®ãããã¯ããäœãå Žåã§ãäŸãã°å»çç³»ã®ãµãŒãã¹ã«LLMã䜿ããšãã®ã¢ãããŒã·ã§ã³ã«ããã£ãšããã°ã©ãã³ã°ã ããã£ãŠçããŠããç§ã¯ééããªãäžé©åœã§ãããã
ãããŸã§ãã¡ã€ã³ç¥èãæ·±ãæ±ãããããã®ã§ãªããšãã瀟å
ã®äººã
ãã¢ãããŒã·ã§ã³ããé¡ããã人ãã¡ããŠãŒã¶ãšãã³ãã·ã£ãªå±€ã§ãªãã£ãããåããããªèª²é¡ãã€ã¡ãŒãžã§ããªãããšã¯å€ãããã§ãããã
LLMã絡ãŸãªããããã¯ãéçºã§ãã£ãŠããã¡ã€ã³ãšãã¹ããŒããšååããŠããè¯ããããã¯ãèŠä»¶ãèšèšãæ¢ã£ãŠããããšã¯ãããŸãããã¢ãããŒã·ã§ã³ã«é¢ããŠãåæ§ã§ãããšèããããŸãã
ã©ããªèŠä»¶ã«LLMã䜿ããæ¬¡ç¬¬ã§èŠæ±åºŠã¯å€ãã£ãŠããŸãããé«å質ã®ã¢ãããŒã·ã§ã³ãã§ãã人ãšãã§ããã°ã¢ãããŒã·ã§ã³ã ãã§ãªãçç±ãã»ããã§æããŠããããªããè©äŸ¡åºæºãäœã£ãŠããäœå¶ãäœããããéµã«ãªã£ãŠããã®ããªãšæããŸãã
LLMãè¡ã(LLM-as-a-judge)
LLM-as-a-judge ãæè¿ããªã䜿ãããŠããææ³ã§ãã
æåéãLLMã«è©äŸ¡ãããŠããã£ãŠã0-1.0ã®éã§ã¹ã³ã¢ãã€ããŠãã ããããšããåœ¢ã§æ°å€ãä»ããŠããã£ãã Yes or No ã®äºå€å€å®ãããŠããã£ãŠè©äŸ¡ããŠããããŸãã
äŸãšããŠã¯æ¬¡ã®ãããªããã³ããã§è¡ããŸãã
質åæ:
{question}
åçæ:
{answer}
以äžã®è³ªåæãšåçæã®ãã¢ã«ã€ããŠã以äžã®èгç¹ã§0ãã1ã®éã®æ°å€ã§è©äŸ¡ããŠãã ãããæ°å€ä»¥å€ã¯åºåããªãã§ãã ããã
- åçã¯è³ªåã®æå³ãçç¢ºã«æããŠããã
ããã°ã©ããã«ã«å€å®ããããšãé£ãããããªè©äŸ¡åºæºã§ãããã³ãããæžãã ãã§ã·ã¥ããšè©äŸ¡ãå®çŸã§ããã®ã匷ã¿ã§ãã
äžèšã®è©äŸ¡ã®ä»æ¹ã¯äžçªã·ã³ãã«ãªæ¹æ³ã§ã倧äœ"LLM-as-a-Judge"ãšãããã¬ãŒãºã䜿ãããæã¯ãã®ããæ¹ãæãããšãå€ããšæããŸããããã¡ãã¯ã¹ã³ã¢ããŒã¹è©äŸ¡ãšåŒã°ããããã§ãã
ãã®ä»ã«ã
- 確çããŒã¹è©äŸ¡: è©äŸ¡å¯Ÿè±¡ã®ã¢ãŠãããããçæããã確ç(çæå°€åºŠ)ãç®åºãè©äŸ¡ã¹ã³ã¢ãšãã
- ãã¢ã¯ã€ãºè©äŸ¡: 1ã€ã®ã¿ã¹ã¯ã«å¯ŸããŠ2ã€ã®åºåçµæãæ¯èŒããŠãã
ãªã©ãªã©äžå£ã«"LLM-as-a-Judge"ãšèšã£ãŠãæ§ã ãªæ¹æ³ãããã®ã§çšéã»ç®çã«å¿ããŠæ€èšããŠããããšè¯ãããã§ããã¡ãªã¿ã«ç§ã¯ã¹ã³ã¢ããŒã¹ä»¥å€ã¯å šéšäžèšã®èšäºã§ç¥ã£ãã®ã§ããèå³ããæ¹ã¯æ¯éèªãã§ã¿ãŠãã ããã
ãã LLMãæ¬¡ã®ãããªãã€ã¢ã¹ãæã£ãŠãããããŠæ³šæãå¿ èŠã§ãã
- äœçœ®ãã€ã¢ã¹
- LLMãç¹å®ã®äœçœ®ã®åçãåªéããåŸåããã(äž»ã«æåãšæåŸãåªéããããããªã©)
- äžèšè«æå ã§ã¯2ã€ã®åçã®é åºãå ¥ãæ¿ããŠLLMã«2åå€å®ãããäž¡æ¹ã§äžæ¹ã®åçãåªããŠãããšå€å®ãããå Žåã«ã®ã¿ããã®åçãåªããŠãããšå€æããæ¹æ³ãææ¡ãããŠãã
- åé·æ§ãã€ã¢ã¹
- LLMããæç¢ºããè³ªãæ£ç¢ºããå£ã£ãŠããŠããé·ãåé·ãªåçãåªéããåŸåããã
- èªå·±é«æãã€ã¢ã¹
- LLMãèªèº«ãçæããåçãåªéããå¯èœæ§ããã
ãŸãã人éããå®ããšã¯èšãããéããªãã ããã ãããã®ã§ãéé²ã«å šãŠãLLMã«è©äŸ¡ãããŠã倿§ãªã€ã³ãããã§è©äŸ¡ãã¶ãåãããšãçŸå®çã§ã¯ãããŸããã
- è©äŸ¡ã®ã€ãã¬ãŒã·ã§ã³ãåãå§ããåæã«äœãå§ããŠãé©åºŠã«ãšã©ãŒãèŠã€ããåèã«ãã€ã€ãè©äŸ¡ã®ããã³ãããå質ãäžããŠãã
- æ§ã ãªããã³ããã§æ±çšçã«æŽ»ããè©äŸ¡åºæºã§ãããããªããè©äŸ¡ããã³ããã®è©äŸ¡ãã¡ãããšæéããããŠè¡ãä¿¡é Œã§ãããã®ã«è²ãŠãŠããæµçšãã
ã¿ãããªåœ¢ã§ã®éçšãã§ãããšããã®ããªããšèããŠããŸãã
ã¡ãªã¿ã«ãè©äŸ¡ã®ããã³ãããæ¬åœã«æ£ããè©äŸ¡ã§ããŠããã®ãïŒããšããåããåœç¶ã®ããšãªãããããããšæããŸããç§ãã¿ããªã©ããã£ãŠããã®ãçåã«æãã¡ãã£ãšèª¿ã¹ãŠã¿ãã®ã§ãããæã£ãããæªãèšãã°ããããŒãšããããçŽ çŽã«èªåãæãè©äŸ¡ã®æèšã§å§ããŠããããã§ã
äŸãã°ã以äžã®ãããªããã³ããã䜿ã£ãŠè©äŸ¡ãå§ãŸãã
æ¬¡ã®æç« ã¯ãæ
è¡å
ã®ããããã¹ãããã玹ä»ããæç« ã§ãããã®æç« ããèªè
ã«ãšã£ãŠåœ¹ç«ã€æ
å ±ãæäŸã§ããŠãããã©ããã5段éã§è©äŸ¡ããŠãã ããã5ãæã圹ç«ã€ã1ãå
šã圹ç«ããªããšããŸãã
è©äŸ¡ã®èгç¹:
- ã¹ãããã®ç¹åŸŽãèŠã©ãããå
·äœçã«èª¬æãããŠããã
è©äŸ¡å¯Ÿè±¡ã®æç« :
'''
{ããã«è©äŸ¡å¯Ÿè±¡ã®æç« ãå
¥ããŸã}
'''
è©äŸ¡ã¹ã³ã¢:
ãã®ãããªããã³ããããå§ããŠãå®éã«æ§ã ãªæç« ãè©äŸ¡ãããŠã¿ãŸãããããŠãè©äŸ¡çµæã人éã®æèŠãšç §ããåãããéäžè¶³ãªãè©äŸ¡ãã§ããŠãããã確èªããŸããããã§ç¹°ãè¿ãå®éšãåãäžã§ãã¡ãããšãšã©ãŒãæ€åºããŠãããŠãããªããšããåœéœæ§ãå€ããªããªã©æãããšãããããã°ããã³ããã調æŽããããè©äŸ¡ã®èгç¹ã远å ã»ä¿®æ£ãããããªãããåŸã ã«è©äŸ¡ã®è³ªãé«ããŠããã€ã¡ãŒãžã§ãã
è©äŸ¡ã¯æçµçãªå質ä¿èšŒãšããç®çã倧ããã®ã§ãããå®éšäžã®ãšã©ãŒã®æ€åºãæå©ãããããšã«ããéçºãµã€ã¯ã«ãéããããšããç®çããããŸãããã®ç®çã«ç §ãããšãæåã¯è©äŸ¡ã®ç²ŸåºŠèªäœã«ãã ããéããåèçšåºŠããå§ããŠããã®ãããã®ãããããŸããã
ãŸãããã®ãããã¯ãã«ãšã£ãŠè²ããªãšããã§åºãŠããããªè©äŸ¡é ç®ã§ããã°äžå®ã®æéãæè³ããŠ**"è©äŸ¡ã®è©äŸ¡"**ãè¡ãã®ãäžæããªãšæããŸãã
ããã°ã©ããã«ã«è¡ã
äžçªå®ããæéãããããªãæ¹æ³ã§ãè©äŸ¡é ç®ãããã§è©äŸ¡ã§ããã®ã§ããã°ç©æ¥µçã«æ¡çšãã¹ãææ³ã§ãã
ç°¡åãªãã®ã ãšæåæ°ã®é·ããå€å®ãããšããç¹å®ã®æååãå«ãŸããŠããªãããèŠãã ãšããããã¯LLMãšååã«èããã¹ããããããªãã§ãããææ åæã®ãããªæ©æ¢°åŠç¿ã¢ãã«ã䜿ã£ãŠå€å®ã§ãããã®ãªã©ãæ³å®ããŠããŸãã
人éã¯ãã¡ããé«ãã§ãããLLMããŸããŸãé«ãã®ã§ãæåã¯ãæè»œã«è©ŠããLLMã§åããŠãæåãªè©äŸ¡é ç®ã ãšæãããããã°ã©ããã«ã«ä»£æ¿ã§ããªããæ€èšãããã¿ãããªãããŒã§ãèããŠããããšããã®ããªãšæããŸãã
ããŒã¿ã»ããã¯ã©ããã£ãŠäœãã
次ã«è©äŸ¡ãè¡ãããã«å¿ èŠãªããŒã¿ã»ãããäœãæ¹æ³ã«ã€ããŠèŠãŠãããŸãã
- 人éãäœã
- LLMãªã©ã«äœã£ãŠããã(Synthetic Dataset)
- å®éã®å®è¡ãã°ããéãã
ãŸããåæãšããŠãªã®ã§ãããã©ã®ãããªææ³ãåãã«ãããããŒã¿ã»ãããäœãç®çã¯è©äŸ¡ãããããã§ãããããè©äŸ¡åºæºãæºãããããªè¯ãäŸãšãã¬ãŒãã¬ãŒã«ã«åŒã£ããããããªæªãäŸãæèçã«å«ããããšã倧åã§ãã
人éãäœã
ãã¯ã人éãäœãããšã第äžåè£ã«äžããã§ãããã
æåã§ãããã¯ãã®èŠä»¶ãæºãããããªå
žåçãªå
¥åãè€æ°ãã¿ãŒã³çšæããããããã«å¯ŸããŠæåŸ
ãããå¿çãäœæããŸãã
å°ãªããšãæåã®æ°åã¯éçºè
ããããã¯ããããŒãžã£ãŒã®éã§ããããªã¢ãŠãããããæãŸããããããšããå
±éèªèãæã€ããã«ããèŠä»¶ã«ç
§ããåãããŠäœã£ãŠã¿ãã®ãããã®ã§ã¯ãªãããªãšæããŸãã
ãã ãè©äŸ¡ã®ããã«ã¯åãè©äŸ¡èгç¹ã«å¯ŸããŠãè€æ°ã®ã€ã³ãããã§ãã¹ããããããšãæãŸããã§ãããããå®çŸããã®ã«å šãŠæåã§ååãªéã®ããŒã¿ãäœãã®ã¯äžã éªšã®æããäœæ¥ãªã®ã§ããããªæã«æ¬¡ã®LLMã«ããçæãæ€èšã«ããããŸãã
LLMãªã©ã«äœã£ãŠããã(Synthetic Dataset)
ããŒã¿ã»ããäœæã«ããŸã LLM ã®åºçªã§ãã
ã¡ãªã¿ã«LLMãªã©ã§èªåã§äœã£ãããŒã¿ã®ããšãSynthetic DataãšåŒã¶ããã§ãã
ããã¯ç§ãæè¿è©ŠããŠããã®ã§ãããããã³ããã®æååã ãæž¡ããŠãæ§ã ãªããªãšãŒã·ã§ã³ã®ããŒã¿ãäœã£ãŠãã ããããšããããã³ããã ãã ãšãããŸã§ããæãã®ããŒã¿ã»ãããäœããå°è±¡ã¯ãªãã®ã§ãã(åèªã ãå€ãããã®ãåºãŠããããã)ãè©äŸ¡åºæºãäžãã or/and ãŸãèããŠããã£ãŠãããããããã¹ããããããªããŒã¿ãåºããŠããšäŒãããšå²ãããè©äŸ¡ã«äœ¿ããå質ã®ããŒã¿ãåºããŠãããŸãããã®æFew-shot learningã®èŠé ã§ã人éãäœã£ãå žåäŸãæ°åæç€ºããã®ããã©ãŒããããªã©ããºã¬ãããªããŠå¹æçã§ã(å€å°åŒãã¥ããéããæãæããããšããããŸãã)ã
ãŸã ãã¥ãŒãã³ã°ã®äœå°ã¯ãããŸããã€ã¡ãŒãžãšããŠã¯äžèšã®ãããªæãã§ãã
ããŒã¿çæããã³ããã®äŸ
⌠è©äŸ¡åºæºçæã®ããã³ãã
given prompt below, this prompt is aimed to {purpose_of_prompt}
list what perspectives is necessary to evaluate this prompt in addition to the initial evaluation perspectives.
<evaluation_perspectives>
{evaluation_perspectives}
</evaluation_perspectives>
<prompt>
{prompt}
</prompt>
<examples>
{examples}
</examples>
⌠ããŒã¿çæã®ããã³ãã
now create 3 examples of input and expected output that can test each evaluation perspective.
write only list of examples JSON
ãŸããããã³ããã§äœã以å€ã«ã CLI ãå®éã®ç»é¢ã§ãE2Eãã¹ãããŒã«ãªã©ãšçµã¿åãããŠã€ã³ãããã¯LLMã«èããŠããããªããäœåºŠãåãããšããææ³ãèããããŸãã
ç¹ã«ããŒã¿ããããªã«ãªãåæã®ããã³ãããã¥ãŒãã³ã°ã»è©äŸ¡ãããã¿ã€ãã³ã°ã§æŽ»èºããããææ³ãªã®ã§ã¯ãªãããªãšèããŠããŸãã
ãŸããæè¿äººããæããŠããã£ãã®ã§ãããã¢ãã«ã®ãã¥ãŒãã³ã°ã®ããã«InstructionããŒã¿ã»ãããäœãåéã§ãSynthetic Dataã®æŽ»çšã®æ·±æãã¯é²ãã§ããããããå ã«ãããããã«SeedãšãªãäŸããå¢ããæ¹æ³ããçªç¶å€ç°ãèµ·ããææ³ãªã©ãææ¡ãããŠããŸãã

åŒçš: Synthetic Data (Almost) from Scratch: Generalized Instruction Tuning for Language Models
ãããã¯åŠç¿çšã®ããŒã¿äœãããŽãŒã«ã®ãããã³ãã·ã£ã§åãã§ã¯ãªããããããªãã§ãããä»åã®ããã³ããçšã®ããŒã¿ã»ããäœæã«ãèãæ¹ã¯ãã®ãŸãŸå¿çšã§ãããã§ãäŸãã°Evolve-Instructã®ããªãšãŒã·ã§ã³ãåºããæ¹æ³ã¯éçºè ãäºåã«èªèã§ããŠããªãã£ãè©äŸ¡èгç¹ãŸã§åºããããããããªãããšèããŠããŸãã
å®éã®å®è¡ãã°ããéãã
ãããŠæåŸã¯ãå®éã®ãã°ããããŒã¿ãéãããã§ãã
ããã¯ç€Ÿå
ã§åãæ€èšŒãããããã§ãããå®éã®ãŠãŒã¶ã«è§Šã£ãŠããã£ãäžã§æºãŸã£ããã°ãå«ã¿ãŸãã
å®éã®ãŠãŒã¶ãŒã®å ¥åãšåºåã®ãã¢ãåéããããšã§ãéçºè ãæ³å®ããŠããªãã£ã倿§ãªã±ãŒã¹ãã«ããŒããããšãã§ããŸããç¹ã«ããããã¯ãããªãªãŒã¹åŸãäžå®æééçšããŠããŒã¿ãèç©ããããšã§ãããçŸå®ã«å³ããããŒã¿ã»ãããæ§ç¯ã§ããã§ãããã
ãã ãããã°ããããŒã¿ãåéããéã«ã¯ããŠãŒã¶ãŒã®ãã©ã€ãã·ãŒã«ååé æ ®ããå¿ èŠããããŸããå人æ å ±ã®æ±ãã«ã¯çްå¿ã®æ³šæãæããé©åãªå¿åååŠçãæœãããšãæ±ããããŸãã
åéããããŒã¿ã¯ãè©äŸ¡åºæºã«ç §ããåãããŠäººæããããã¯å ã»ã©ç޹ä»ããããã«LLMãªã©ã䜿ã£ãŠã¢ãããŒã·ã§ã³ãè¡ãããšã«ãªããŸããäœã§ã¢ãããŒã·ã§ã³ããã«ããã察象ãéžã¶(ãŠãŒã¶ã®ãã£ãŒãããã¯ãšçµã³ä»ããããŠãããšãªãè¯ã)ããã¢ãããŒã·ã§ã³ãããšèªåã§ããŒã¿ã»ããã«è¿œå ãããããªã©ã®ãã€ãã©ã€ã³ãäœã£ãŠããã®ãéèŠãªåãçµã¿ã«ãªã£ãŠããŸãã

ãŸããããããã®å€§åæãšããŠããããã§ããããã«ãªãããã«ã¯LangSmithãªã©ã®ãã®ã³ã°ããŒã«ãå°å ¥ããŠããããšãåæãšãªããŸãããããã®ããŒã«ã¯å ã«ããããããªã¢ãããŒã·ã§ã³ãã¥ãŒããã£ãŒãããã¯æ©èœãèªåã§ã®ã¹ã³ã¢ãªã³ã°æ©èœãªã©æ§ã ãªãµããŒããæã£ãŠããããšãå€ããããæè¡éžå®ã®éã«ã¯ãããã£ã芳ç¹ãæ°ã«ããŠããããšããã®ããªãšæããŸãã
åäžã®è©±ã«ã¯ãªããŸããäŒç€Ÿå ã§éçºã«æºãã人ãã¡ã ãã§è©äŸ¡èгç¹ãç¶²çŸ ãããããŒã¿ã»ãããäœãåãããšããããšã¯åºæ¬çã«äžå¯èœãªã®ã§ããããã£ãçã®ããŒã¿ãç¶ç¶çã«æ¹åã«çšããããšã¯éåžžã«éèŠãªåãçµã¿ãšãªããŸãã
è©äŸ¡åºæºãšããŒã¿ã»ãããã©ã管çããŠããã
以äžãå ·äœçãªHowã«ã€ããŠèŠãŠããã®ã§ããããã£ãšãã£ãšå ·äœçã«è©äŸ¡åºæºãããŒã¿ã»ããã¯ã©ã®ããã«ç®¡çããã®ãïŒã«ã€ããŠãèŠãŠãããŸãã
ã¡ãã£ãšãã®èšäºã¯ããŸãç¹å®ã®æè¡äŸåã«ãªããªãæœè±¡çãªå 容ã«ããããšã¯å¿ãããŠããã®ã§ãããå ·äœã®ã€ã¡ãŒãžãæãŠãæ¹ããããšæãã®ã§ãããã§ã¯æè¿äœ¿ã£ãŠããLangSmithã§ã®äºäŸã玹ä»ãããŠãã ããã
LangSmithã«ã¯è©äŸ¡æ©èœãšããŒã¿ã»ããæ©èœãååšããŸãã
ããŒã¿ã»ããæ©èœã§ã¯æ¬¡ã®ããã«ç¹å®ã®ããã³ããã«å¯Ÿããã€ã³ããããšã¢ãŠããããã®Exampleãã¡ã管çããããšãã§ããŸããã¡ãªã¿ã«ã§ããLangSmithã¯ãã®ã³ã°ã®æ©èœããã(ãšããããã£ã¡ãã¡ã€ã³)ããã°ãã Add to Dataset ãããããšæŒãã ãã§ãã¡ãã®ããŒã¿ã»ããã«è¿œå ããããšãã§ããã®ã§ãæ€èšŒããªã¢ã«ãŠãŒã¶ãšã®ã€ã³ã¿ã©ã¯ã·ã§ã³ããããŒã¿ã»ãããè£åŒ·ããŠããæã«äŸ¿å©ã§ãã

è©äŸ¡ã¯LangSmithã®SDKãçšããŠã³ãŒãã§å®è¡ããŸãã
ããããã³ãŒãããã¹ãã³ãŒãã®ããã«ã¡ã³ããããŠãããšããã®ããªãšèããŠããŸãã
from langsmith.schemas import Run, Example
from langsmith.evaluation import evaluate
# Define dataset: these are your test cases
dataset_name = "langgraph-test"
def predict(inputs: dict) -> dict:
# ããã§LLMå®è¡ãããããŠçµæãè¿ã
# inputs ã«ã¯ããŒã¿ã»ããå
ã®äžè¡ãå
¥ã£ãŠãã = ãã® predict 颿°ã¯ããŒã¿ã»ããå
ã®Exampleã®æ°ã ãå®è¡ãããã
return {"output": response}
# è©äŸ¡ãå®è¡ãã颿°ãevaluatorsã¯ãªã¹ããåãã®ã§è€æ°ã®è©äŸ¡é¢æ°ãå®çŸ©ã§ãã
# {"key":"çµæç»é¢ã§èŠããã©ãã«ã®åå", "score": æ°å€ or True/False ã§è¡šçŸãã}
def must_mention(run: Run, example: Example) -> dict:
prediction = run.outputs.get("output") or ""
required = example.outputs.get("must_mention") or []
score = all(phrase in prediction for phrase in required)
return {"key":"must_mention", "score": score}
experiment_results = evaluate(
predict,
data=dataset_name,
evaluators=[must_mention],
)
ãã®ã³ãŒããå®è¡ãããšLLMã®å®è¡åã³è©äŸ¡ãå®è¡ãããå ã»ã©ã®ããŒã¿ã»ããã®ããŒãžå ã«ãã "Experiments" ãšããã¿ãå ããçµæãèŠãããããã«ãªããŸãã(ãšã©ãŒåããŠãŠå 容空ã§ãããã¢ãŠããããã«ã¯å®éã®å®è¡çµæãå«ãŸããŸããé°å²æ°ã ãæŽãã§ãã ãã)
⌠å®éšçµæäžèЧç»é¢

⌠å®éšè©³çް

ã¡ãªã¿ã«ã®LangSmithã®æšããã€ã³ããªã®ã§ãããåäžã®ããã³ããã ãã§ãªããè€æ°ã®ChainãLangGraphãªã©ã®ãã¬ãŒã¹ãè©äŸ¡ãšçŽã¥ããŠèŠãããã®ãé åçã§ãã
äŸãšããŠäžèšã¯LangGraphã®ãã¬ãŒã¹ã§ãããã®ãããã§LangGraphã§ã·ã¹ãã å šäœã®åŠçãå®è¡ <=> åå¥ã®åé¡ãèŠã€ãããããã ããŠããããã¹ãããè¡ã£ããæ¥ããããšãããããªã¯ãŒã¯ãããŒãåãããããªããŸãã

ããã匷åéããŠæè¿ã¯ããç©æ¥µçã«LangChainãšã³ã·ã¹ãã ã«ããã¯ã€ã³ããã«ããã®ãããããããªãããšããæ°æã¡ã«ãªã£ãŠããŸãã
ãã ãä»åã¯äŸãšããŠLangSmithãã玹ä»ããŸããããããŒã¿ã»ãããšè©äŸ¡åºæºããã®å®è¡ã³ãŒããå ±éè³ç£ãšããŠã¡ã³ããã³ã¹ãããŠããããšããéšåãéèŠã§ããããæ ä¿ãããã®ã§ããã°ä»ã®æè¡ã§ãããã®ããªãšèããŠããŸãã
ããã»ã¹ãèãã
以äžãå
·äœçãªHowã«ã€ããŠèŠãŠããŸããã
ãããããçµã¿åãããŠããšã¯ããã ãïŒããšè¡ããããšããã§ãããå
ã»ã©ã®ããªãLLMã䜿ã£ãæ©èœã®è©äŸ¡ã¯é£ããã®ããã§è¿°ã¹ãéããŽãŒã«ãšãã¹ãè©äŸ¡åºæºãäžåºŠã«å®çŸ©ãããã®ã¯éåžžã«é£ããã§ãã
ãªã®ã§ãã©ããã£ãŠã段éçã«è©äŸ¡åºæºãšããŒã¿ã»ãããäœã£ãŠããã®ããã®ããã»ã¹ã«ã€ããŠæ³ãã銳ããŠã¿ãããšæããŸããã¡ãªã¿ã«ã§ãããäžå¿èããŠã¯ã¿ããã®ã®çµå±è¡ã£ããæ¥ããã§æ³¥èãã¯ãªããã ãããªãšããäºæãããŠããŸãã
æ¹ããŠã§ãããæ©èœãªãªãŒã¹ã®ãžã£ããžããããŸã§ã¯ãè©äŸ¡åºæºãšããã«çŽã¥ãè©äŸ¡ããŒã¿ã»ãããããããã®è©äŸ¡ããŒã¿ã»ããã«å¯ŸããŠLLMãå®è¡ããäºåã«å®ãã threshold ãè¶ ããããšã確èªã§ãããããŽãŒã«ã«ãªããŸãã
ãªã®ã§ããŸãæéã§è©äŸ¡åºæºãšããŒã¿ã»ãããäœãããšãèããŠã¿ãã®ã§ãããåäžç³ãäžããŠããéãããããäœãããã»ã¹ã¯æ¢çŽ¢çã«ãªããããåŸãªã(ãããã)ãã ad hoc ã«ããã³ãããã¥ãŒãã³ã°ããªããããšããåæãã€ããŠåãã§ãããã
倧ãŸãã§ãã以äžã®ãããªæµãã«ãªãã®ã§ã¯ãªãããšæããŸãã
- åæããŒãžã§ã³ã®è©äŸ¡åºæºãšããŒã¿ã»ãããäœã
- ã¢ãŒããã¯ãã£èšèš
- å šäœãšåå¥ã®ããã³ãããããããæåã§åã
- åã ã®ããã³ããã®ããŒã¿ã»ãããšè©äŸ¡åºæºãäœã(åäœãã¹ã)
- å šäœãéããŠç¢ºèªãã(çµåãã¹ã)

åæããŒãžã§ã³ã®è©äŸ¡åºæºãšããŒã¿ã»ãããäœã
ãŸãã¯æåã§èŠæ±ããèœãšããŠè©äŸ¡åºæºãäœããŸãã
èŠæ±ãããªãå
·äœçã§ããã°å¥ã§ãããå®éã®ã·ã¹ãã åããªããã®æ¹ãçºæ³ãåºãããããããšãå€ããšæãã®ã§ãããã§ã¯ããŸãå³å¯ã«äœãäžããããšãããPoCãã¹ãæã®ããŒã¿ãäœããããã®æèŠã§äœããŸãã
åæã¢ãŒããã¯ãã£èšèš
äœãããæ©èœã«å¯ŸããŠäžåã®ããã³ããã§ååããªããŠããšã¯ããŸããªããäœãããã®ããžãã¹ããžãã¯ã ã£ãããè€æ°ã®ããã³ãããé£ãªã£ãããåå²ãæãŸã£ããããŸãã
ãã®ããªããšãªãããããããã®å®æãåŸãã®ããã®ãã§ãŒãºã«ãªããŸãã
ãã ããæ©æ¢°åŠç¿ã絡ãã·ã¹ãã 㯠PoC è²§ä¹ãªããŠãã¬ãŒãºãããããããã詊ãã§äœã£ããã®ãåŸããæ€èšŒãããšæ³å以äžã«æ®å¿µã ã£ãããšããããšãããèµ·ããŸãã
å€ãã®ã¯ããŸãã¯PoCïŒProof of ConceptïŒæŠå¿µå®èšŒïŒã§ã詊ãçãã€ãããããŸããã£ããæ¬çªã®ãããžã§ã¯ãã«ç§»ããšããã±ãŒã¹ã§ãããããã«ãåé¡ããããŸããããã¯ãPoC è²§ä¹ãã«é¥ãäŸããã¡ãã¡ã§æ£èŠãããããšã§ããåž°çŽåãœãããŠãšã¢ã®ç¹åŸŽãšããŠã100%ã®æ£è§£ãä¿èšŒã§ããªããšããç¹ãæããããŸããçºæ³šè ãåŸããã粟床ãè¶³ããªãããèœåãäžååããªã©ãšææã§ããŠããŸãããã§ãã
ããã¯æè¡çãªè©±ãšããããã¯ãã€ã³ãçãªè©±ãªã®ã§ããããã®äœæ¥è ã«ãã宿§ã®ããªããšãªããããããããå®éã®ãããã¯ã·ã§ã³åè³ªã«æã£ãŠãããŸã§ã«æ³å以äžã«å€§ããªä¹é¢ãããããšãèªèããŠæ²¹æããã«è©äŸ¡ãè©°ããŠããã®ã倧äºãªã®ããªãšæããŠããŸãã
å šäœãšåå¥ã®ããã³ãããããããæåã§åã
äžå®æ ãã§ãããããããªããã£ã¡ãè©äŸ¡åºæºãšããŒã¿ã»ãããäœããšããããã¯ãããããã·ã¹ãã ãšæ¯ããŠè©äŸ¡èгç¹ãžã®çè§£ãæ·±ãããããŸããã®éçšã§ããŒã¿ãå¢ããŠãããšæãã®ã§åæºåãšããŠã¢ã³ããŒãã¹ãã®ãããªæèŠã§æåã§åãã®ãããã®ããªãšèããŠããŸãã

ãŸãã¯å šäœã®ãããŒãéããŠã¿ãŠãåããã³ããã®æ¯ãèãããããã³ããéã®é£æºãããŸããã£ãŠãããã確èªããŸãããã®éãæ§ã ãªå ¥åãã¿ãŒã³ã詊ããŠã¿ãããšã§ãã·ã¹ãã ã®é 奿§ãå¢çæ¡ä»¶ã®æ±ããªã©ã®èª²é¡ãèŠããŠããã¯ãã§ãã
ãŸããåã ã®ããã³ããã«å¯ŸããŠããè©äŸ¡åºæºã®èгç¹ãããã¹ãã±ãŒã¹ãäœæããæåŸ ãããåäœãããŠãããå ¥å¿µã«ãã§ãã¯ããŸãããã®æåãã¹ããéããŠãè©äŸ¡åºæºã®éäžè¶³ããããŒã¿ã»ããã«å¿ èŠãªããªãšãŒã·ã§ã³ãªã©ãæããã«ãªã£ãŠããã§ãããã
åã ã®ããã³ããã®ããŒã¿ã»ãããšè©äŸ¡åºæºãäœã(Unit tuning)
æåãã¹ãã§åŸãããç¥èŠãåºã«ãåã ã®ããã³ããã®è©äŸ¡åºæºã粟緻åããŠãããŸããè©äŸ¡åºæºã¯å¯èœãªéãå®éçã§æž¬å®å¯èœãªãã®ãšããŸããããããçšåºŠã¯å®æ§çã«ãã倿ã§ããªã(å®éã§å€æããããšãããšããã®ä»çµã¿ãäœãã®ã«å€å€§ãªæéãããã)ãã®ããããšã¯æãã®ã§ãããã¯"èŠã¯ãã©ã³ã¹"ã§ãã
ãã®äžã§ãè©äŸ¡åºæºãæºããããŒã¿ã»ãããæ¡å ããŠãããŸããåè¿°ã®éããLLMããŠãŒã¶(æåã¯ç€Ÿå ã®äºº)ãã°ãªã©ã掻çšãã€ã€ãå質ã®é«ãããŒã¿ãå¹ççã«åéããããšãèèŠã§ãã
ããŒã¿ã»ãããã§ããããããã䜿ã£ãŠããã³ããã®ãã¥ãŒãã³ã°ãè¡ããŸããè©äŸ¡åºæºã®æ°å€ãäžãããŸã§ or 宿§çã«èŠãŠèª²é¡ãåºãªããªã£ããšæãããŸã§è¡ããŸããããã®éçšã§ãè©äŸ¡åºæºãããŒã¿ã»ãããè©äŸ¡ã®ä»æ¹ãæŽæ°ããããªããšæãã®ã§é©å®ã¢ããããŒãããŠãããŸãã

ãã®æã«ããããå®éšç®¡çç°å¢ãããã®ã倧äº
ãã ããã¿ã¹ã¯ã®éèŠåºŠã倿Žã®å¯èœæ§ã«ãã£ãŠã¯ãå³å¯ãªè©äŸ¡åºæºãšããŒã¿ã»ããã®äœæãå¿ ãããå¿ èŠã§ã¯ãªãã±ãŒã¹ããããŸããäŸãã°ã軜埮ãªã¿ã¹ã¯ãããããã¿ã€ã段éã§å€§ãã倿Žãããå¯èœæ§ãé«ãéšåãªã©ã§ãã
ãšã¯èšããåŸããåç §ã§ããè³ç£ãšããŠå°éã§ãããŒã¿ãè©äŸ¡ã®èгç¹ãæ®ããŠããããšã¯éèŠã§ããæå ã§ç¢ºèªããã ãã§ãªããããŒã å ã§æ±ºããããå Žæã«ä¿åããŠããããšã§ãåŸç¶ã®éçºãæ¹åã«æŽ»ããããšãã§ããã§ãããã
è©äŸ¡åºæºãšããŒã¿ã»ããã®äœæã«ã¯äžå®ã®ã³ã¹ããããããŸãããé·æçãªå質åäžãšã¡ã³ããã³ã¹æ§ã®èгç¹ãããé©åãªç¯å²ã§å®æœããããšãããããããŸãã
å šäœãéããŠç¢ºèªãã(Integration Test)
åã ã®ããã³ããã®å質ãäžãã£ãããå床ã·ã¹ãã å šäœã®åäœã確èªããŸããåå¥ã«ã¯åé¡ãªããŠããçµã¿åãããæã«æ°ããªèª²é¡ãåºãŠããããšã¯çãããããŸãããå šäœã®çµæãèŠãæ¹æ³ã¯ãã®ã³ã°ããŒã«ã§äžæ°é貫ã§èŠãããã®ã§ããã°ãããæŽ»çšããããå Žåã«ãã£ãŠã¯UIãè§Šã£ããå°çšã®ããŒã«ãäœã£ããæ§ã ã§ãã

LangGraphã®äžé£ã®åŠçã®æµããèŠãããå³
ãã®ãå šäœãéãããã¹ã <=> åäœãã¹ãããè¡ã£ããæ¥ããããã®ããã¥ãŒãã³ã°ã®æµãã«ãªãã®ããªãšæããŸãã
æ°ããªåé¡ãåºãŠããªããªããäœãäžããŠããè©äŸ¡åºæºãããŒã¿ã»ããã«å¯ŸããŠããããŸã§ã¯ãªã¢ã§ãããOKããšããthresholdãå®çŸ©ãããããè¶ ãããããããããªãªãŒã¹ã«åããŠæºåãæŽããŠããããšã«ãªããŸãããã ãããªãªãŒã¹åŸãç¶ç¶çãªã¢ãã¿ãªã³ã°ãšæ¹åã¯æ¬ ãããŸãããå®éã®ãŠãŒã¶ feedbackãåæ ãã€ã€ãè©äŸ¡åºæºãšããŒã¿ã»ããã®ã¢ããããŒããç¶ç¶çã«è¡ã£ãŠããå¿ èŠãããã§ãããã
ãããã«
以äžããããªæãã§è©äŸ¡åºæºãšããŒã¿ã»ãããäœã£ãŠããããšããã®ã§ã¯ãšããããšãèããŠããŸãããçããã®çŸå Žã§ã¯ã©ããªåœ¢ã§ãã£ãŠããããªã©ã³ã¡ã³ãããã ãããå¬ããã§ãã
ãªããšãªãã§ããããããã£ãããã³ããã®ããã®è©äŸ¡åºæºãããŒã¿ã»ããã®ã¡ã³ããã³ã¹ã¯ãããã³ããšã³ããE2Eã®ãã¹ããšåæ§ã«ããæžããæ¹ããããšããã£ãŠããŠããã¡ã³ããã³ã¹ãããªããªããã¡ããšããåŸåãçºçããäºæãããŠããŸããããã³ãããã¥ãŒãã³ã°ã¯ãç®ã®åã®èª²é¡ã«å¿ããŠã©ãã©ãããã³ããã倿ŽããŠããæ¹ããè©äŸ¡ãããŒã¿ã»ãããªã©ã®åšèŸºç©ãã³ãã³ãäœãããã鲿ãæããããããã§ãã
ããããçæçã«ã¯é²æãé ããªãããã«æããããŠã(ãã®æèŠãããããå€ãã®å Žåééã£ãŠããšã¯æãã®ã§ãã)ãé·æçã«èŠãã°ãé©åãªè©äŸ¡åºæºãšããŒã¿ã»ãããæŽåããããšããçç£æ§ãšå質ã®åäžã«ã€ãªãããŸããè©äŸ¡åºæºãããããšã§ãããã³ããã®å質ã客芳çã«æž¬ãããšãã§ããæ¹åã®ãã€ã³ããæç¢ºã«ãªããŸãããè¯è³ªãªããŒã¿ã»ããã¯ãããã³ããã®æ±åæ§èœãé«ããæ§ã ãªå ¥åã«å¯ŸããŠå®å®ããåºåãåŸãããããã«ãªããŸãã
ãã ãè©äŸ¡åºæºãšããŒã¿ã»ããã®éèŠæ§ãçè§£ããŠããŠããå®éã«äœæã»ã¡ã³ããã³ã¹ããã®ã¯å®¹æã§ã¯ãããŸãããå®éã«å Žåã«ãã£ãŠã¯äœãããšããã€ããªãã±ãŒã¹ãååšãããšæãã®ã§æè»ããå¿
èŠã§ãã
äžæ¹ã§ãéèŠæ§ã®åèæŽ»åã ã£ãããäœæã®ããŒãã«ãäžããç°å¢ã¥ãããå¿
èŠã«ãªã£ãŠããã®ããªãšæããŠããŸããäŸãã°ãè©äŸ¡åºæºã®ãã³ãã¬ãŒããçšæããããããŒã¿ã»ããäœæãè£å©ããããŒã«ãæŽåãããã
ãšãããšããã§ç§å人ãšããŠã¯ä»åŸã¯æ¬¡ã®ãããªããšã«åãçµãã§ãããããªãšèããŠãããŸããããããå¥éçºä¿¡ããŠãããããã®ã§ãã
- è©äŸ¡ãããŒã¿ã»ãããå®éšç®¡çç°å¢æ§ç¯
- ããã³ãã Example ã® Synthetic Data
- è©äŸ¡åºæºãšããŒã¿ã»ããããèªåããã³ãããã¥ãŒãã³ã°
æåŸã«ãèªåã®å®æãšããŠãããã£ãLLMã䜿ã£ããããã¯ãéçºã«ããããªãã¬ãŒã·ã§ã³åšãã®ç¥èŠã¯ããŸãåºåã£ãŠããªããªããšããã®ãæããŠããŸããçŽç²ã«ãŸã ãŸã 人å£ãå°ãªããšããã®ããããšæãã®ã§ããããããã£ãããšãã·ã§ã¢ã§ããå Žããããšæ¥œãããã ãªãšæãã倧ã
çã«ã€ãã³ãéãããšããŸã§ã¯èããŠããªãã®ã§ããå°ããªã³ãã¥ããã£ããäœã£ãŠãããããªãšèããŠããŸããæ°äººè©±ãã人ãããã ãã§ã倧åå¬ããã
ãŸãã¯ãªã³ã©ã€ã³ã®éè«ããã§ãè¯ãã®ã§ãããããLLMOpsã«èå³ããæ¹ããã²ãæ°è»œã«ã³ã¡ã³ããäžèšããDMããã ãããšå¬ããã§ãã
ããã§ã¯ããèªã¿ããã ãããããšãããããŸããïŒð
åèæç®
LLM App ã®è©äŸ¡
From MVP to Production // Day 2 Panel 2 // AI in Production Conference
Evaluating LLM-based Applications // Josh Tobin // LLMs in Prod Conference Part 2
Synthetic Dataset
Discussion