
- TOP
- ã¿ã°äžèЧ
- Elasticsearch
Elasticsearch
ã€ãã³ã
該åœããã³ã³ãã³ããèŠã€ãããŸããã§ãã
ãã¬ãžã³
æè¡ããã°
ã¯ããã« ããã«ã¡ã¯ããã©ãããã©ãŒã ãšã³ãžãã¢ãªã³ã°ããŒã ã«æå±ããŠãã埳å¯( @yannKazu1 )ã§ãã å
æ¥ãæ¬çªç°å¢ã§ããã¥ã¡ã³ãã®å€§èŠæš¡æŽæ°ãè¡ã£ãéã«CPUã100%ã«åŒµãä»ãäºè±¡ãçºçããŸãããæ€èšŒç°å¢ã§åãæŽæ°åŠçã詊ããŠãåçŸãããåå ãããããªããããã§ãããããèªåãElasticsearchã®äžã§äœãèµ·ããŠããã¡ãããšçè§£ããŠãªããªããšæ°ã¥ããã€ã³ããã·ã³ã°ããæ€çŽ¢ãŸã§ã®ä»çµã¿ãäžããæŽçããŠã¿ãŸããã åãããã«ããªãã§ãããªãã®ïŒããšæ©ãã§ããæ¹ã®å©ãã«ãªãã°å¬ããã§ãã åæç¥è æ¬èšäºã§ã¯ãShardå
éšã®åäœã«ãã©ãŒã«ã¹ããŠèª¬æããŠãããŸãããããããShardã£ãŠïŒSegmentã£ãŠïŒããšããæ¹ã¯ã ã¡ã«ã«ãªããã®ãã¡ãã®èšäº ããšãŠãããããããã®ã§ãå
ã«èªãã§ããããšãããããããŸãã å
šäœã®æµã ãŸãã倧æ ã®æµããæŒãããŠãããŸãã ã€ã³ããã·ã³ã°éå§ â ããã¥ã¡ã³ããã¡ã¢ãªãããã¡ã«èç©ããã Refresh â ã¡ã¢ãªãããã¡ã®å
容ããã»ã°ã¡ã³ããäœãããæ€çŽ¢å¯èœã«ãªã æ€çŽ¢ â ãã¹ãŠã®ã»ã°ã¡ã³ããå¯Ÿè±¡ã«æ€çŽ¢ãå®è¡ããã ã»ã°ã¡ã³ãããŒãž â å°ããªã»ã°ã¡ã³ããçµ±åãããå逿žã¿ããŒã¿ãç©çåé€ããã ã·ã³ãã«ã«æžããšããã ããªãã§ãããããããã®æ®µéã§ãäœãèµ·ããŠããã®ãããã©ããªæã«è² è·ãäžããã®ãããç¥ã£ãŠãããšããã©ãã«æã®åå åãåãããããããªããŸãã ã§ã¯ãåã¹ãããã詳ããèŠãŠãããŸãããã 1. ã€ã³ããã·ã³ã°éå§ ããã¥ã¡ã³ããã€ã³ããã·ã³ã°ããããšããŸãã¡ã¢ãªãããã¡ã«èç©ãããŸããåæã«ãåã·ã£ãŒãã® Transaction LogïŒtranslogïŒ ã«ãæäœãèšé²ãããŸãã Lucene commitã¯å€æŽã®ãã³ã«å®è¡ãããšã³ã¹ããé«ãããããããã®åœ¹å²ãtranslogãæ
ããŸããäžãäžããã»ã¹ã®çµäºãããŒããŠã§ã¢é害ãçºçããŠããtranslogããæäœãåçããããšã§ããŒã¿ã埩æ§ã§ããŸãã ãªããããã©ã«ãèšå®ïŒ index.translog.durability: request ïŒã§ã¯ãåãªã¯ãšã¹ãããšã«translogãžã®fsyncãçºçããããããã£ã¹ã¯I/Oãå®å
šã«ãŒããšããããã§ã¯ãããŸããã åèããã¥ã¡ã³ãïŒ Near real-time search | Elastic Docs Translog settings | Reference 2. Refreshã«ããã»ã°ã¡ã³ãçæ ããã©ã«ãã§ã¯ 1ç§ããš ã«RefreshåŠçãèµ°ããŸãããã®åŠçã§ãã¡ã¢ãªãããã¡ã®å
容ããã¡ã€ã«ã·ã¹ãã ãã£ãã·ã¥ã«æžã蟌ãŸãã immutableïŒäžå€ïŒãªã»ã°ã¡ã³ã ãæ°ãã«äœãããŸããããã§åããŠããã®ããŒã¿ãæ€çŽ¢å¯èœã«ãªããŸãã RefreshãšFlushãäœãéãã®ïŒ ããã§äŒŒãååã®åŠçãåºãŠããã®ã§ãå
ã«æŽçããŠãããŸãããã®2ã€ãæåã¯ãåããããªãã®ïŒããšæã£ãŠãããã§ãããå®ã¯ å
šãå¥ã®æäœ ã§ãã æäœ ãã£ãŠããããš éã ç®ç Refresh ã¡ã¢ãªãããã¡ â ã¡ã¢ãªå
ã»ã°ã¡ã³ãäœæïŒãã¡ã€ã«ã·ã¹ãã ãã£ãã·ã¥çµç±ïŒ è»œã æ€çŽ¢ã§ããããã«ãã Flush Lucene commit + translogã¯ãªã¢ïŒãã£ã¹ã¯ã«æ°žç¶åïŒ éã ããŒã¿ãæ°žç¶åãã éèŠãªã®ã¯ã æ€çŽ¢å¯èœã«ããã®ã¯Refreshã ã ãšããããšã§ããFlushã¯æ°žç¶åã®ããã®åŠçã§ãããæ€çŽ¢å¯èœæ§ã«ã¯åœ±é¿ããŸãããæ€çŽ¢ã¯ã¡ã¢ãªå
ã®ã»ã°ã¡ã³ãã«å¯ŸããŠè¡ããããããRefreshã§ã»ã°ã¡ã³ããäœãããŠåããŠæ€çŽ¢ã§ããããã«ãªããŸãã Flushã¯ãtranslogãäžå®ãµã€ãºã«éããæããäžå®æéãçµéããæã«çºçããŸãã Search Idleã«ãŒã« ããã§éèŠãªã«ãŒã«ããããŸããèªåRefreshã¯ãéå»30ç§ä»¥å
ã«æ€çŽ¢ãªã¯ãšã¹ãããã£ãã€ã³ããã¯ã¹ã ãã察象ã§ãïŒå³å¯ã«ã¯ã·ã£ãŒãåäœã§ç®¡çãããŸãïŒãã€ãŸããæ€çŽ¢ãã©ãã£ãã¯ãããã·ã£ãŒãã«ã¯å®æçãªRefreshïŒããã©ã«ã1ç§ããšïŒãèµ°ããŸãããæ€çŽ¢ãããŠããªãã·ã£ãŒãã¯ããã¯ã°ã©ãŠã³ãRefreshãã¹ãããããããªãœãŒã¹ãç¯çŽãããä»çµã¿ã«ãªã£ãŠããŸããããã¯ãã«ã¯ã€ã³ããã¯ã¹æã®ããã©ãŒãã³ã¹æé©åãç®çãšããæ©èœã§ãã ãRefreshãã¹ããããããŠããéã«è¿œå ãããããŒã¿ã¯ã©ããªãã®ãããšçåã«æããããããããŸããããå¿é
ã¯äžèŠã§ããã¢ã€ãã«ç¶æ
ã®ã·ã£ãŒãã«æ€çŽ¢ãªã¯ãšã¹ããæ¥ããšããã®æ€çŽ¢æäœã®äžéšãšããŠRefreshãããªã¬ãŒãããå®äºããŠããæ€çŽ¢çµæãè¿ãããŸããã€ãŸããããŒã¿èªäœã¯åé¡ãªãæ€çŽ¢ã§ããŸãããã ããã¢ã€ãã«ç¶æ
ããã®æåã®æ€çŽ¢ã¯Refreshå®äºãåŸ
ã€åãã¬ã¹ãã³ã¹ãé
ããªãå¯èœæ§ãããç¹ã«ã¯æ³šæãå¿
èŠã§ãã ãšã¯ãããæ¬çªç°å¢ãšæ€èšŒç°å¢ã§ã¯åããå€ãã£ãŠããå¯èœæ§ãããç¹ããã€ã³ãã§ããæ¬çªã§ã¯åžžã«ãŠãŒã¶ãŒãæ€çŽ¢ããŠããã®ã§å®æRefreshãèµ°ããŸãããããæ€èšŒç°å¢ã§ã¯èª°ãæ€çŽ¢ããŠããªãå Žåãã·ã£ãŒããã¢ã€ãã«ç¶æ
ã«ãªããæ€çŽ¢æã«åããŠRefreshãèµ°ããŸããåãæŽæ°åŠçã§ããè£åŽã§èµ·ããŠããããšããŸã£ããç°ãªãå ŽåããããŸãã Refreshééã¯èª¿æŽã§ããŸã index.refresh_interval ã§èšå®å¯èœã§ãã倧éããŒã¿ãæå
¥ããæã¯ããã®å€ã倧ããããŠãããšã»ã°ã¡ã³ãæ°ãæžããããšãã§ããŸãããªããã¢ã€ãã«å€å®ã®æé㯠index.search.idle.after ïŒããã©ã«ã30ç§ïŒã§å€æŽã§ããŸãã PUT /my-index/_settings { "index" : { "refresh_interval" : "30s" } } åèããã¥ã¡ã³ãïŒ Near real-time search | Elastic Docs - Refreshã®ä»çµã¿ããã¡ã€ã«ã·ã¹ãã ãã£ãã·ã¥çµç±ã§ã®ã»ã°ã¡ã³ãçæ Refresh API | Elasticsearch Guide - Refresh APIã®è©³çްã30ç§ã«ãŒã« Translog settings | Elastic Docs - FlushãšTranslogã®é¢ä¿ãLucene commitã®èª¬æ General index settings | Elastic Docs - index.search.idle.after èšå®ãSearch Idleæ©èœã®è©³çް çæéã«å€§éæŽæ°ãããšäœãèµ·ããã ããŠããããããæ¬é¡ã§ããçæéã«å€§éã®æŽæ°ãçºçãããšãRefreshã®ãã³ã« å°ããªã»ã°ã¡ã³ããã©ãã©ãäœãããŠãããŸã ã ã»ã°ã¡ã³ãã¯immutableãªã®ã§ããæ¢åã®ã»ã°ã¡ã³ãã«ã¡ãã£ãšè¿œå ããšããããšãã§ããªããã§ããæŽæ°ã®ãã³ã«æ°ããã»ã°ã¡ã³ããäœããããªããçµæãšããŠã现ããã»ã°ã¡ã³ããå±±ã®ããã«æºãŸã£ãŠãããŸãã ãããåŒãèµ·ããåé¡ ã»ã°ã¡ã³ããå¢ãããšæ€çŽ¢ãé
ããªã ãã¡ã€ã«ãã£ã¹ã¯ãªãã¿ãããããæ¶è²»ãã åŸã§èª¬æããããŒãžåŠçã®è² è·ã倧ãããªã 察ç 倧éã«ã€ã³ããã¯ã¹ããæã¯ refresh_interval ã -1 ïŒç¡å¹ïŒã«ããŠãããŠãçµãã£ããæåã§Refreshãããããã ãã§ã ãã¶éããŸãã åèããã¥ã¡ã³ãïŒ Tune for indexing speed | Elastic Docs åé€åŠçã®ä»çµã¿ ããã¥ã¡ã³ããåé€ããæãå®éã«ããŒã¿ãæ¶ããŠããããã§ã¯ãããŸãããã»ã°ã¡ã³ããimmutableã§ãã以äžãããã®éšåã ãæ¶ãããã§ããªããã§ãã ãããã©ãããããšãããšã åé€ãã©ã°ïŒtombstoneïŒãä»ããŠãå逿žã¿ããšããŒã¯ãã ã ããããããè«çåé€ã§ããã å®éã®æµã åé€ãªã¯ãšã¹ããæ¥ã 察象ããã¥ã¡ã³ãã«åé€ãã©ã°ãä»ãã æ€çŽ¢æã¯ãã©ã°ä»ãã®ããã¥ã¡ã³ããçµæããé€å€ãã åŸã§ã»ã°ã¡ã³ãããŒãžãèµ°ã£ãæã«ããã£ãšç©ççã«åé€ããã ã€ãŸããåé€ããã€ããã§ã ããŒãžãå®äºãããŸã§ãã£ã¹ã¯å®¹éã¯æžããªã ãã§ãããåé€ããã®ã«å®¹éæžããªããª...ããšæã£ãããšãããæ¹ããããåå ãããããŸããã åèããã¥ã¡ã³ãïŒ Force merge API | Elasticsearch Docs 3. æ€çŽ¢æã«äœãèµ·ããŠããã æ€çŽ¢åŠçã§ã¯ã ãã¹ãŠã®ã»ã°ã¡ã³ãã«å¯ŸããŠæ€çŽ¢ãå®è¡ãããŸã ãåã»ã°ã¡ã³ãã®çµæãããŒãžããŠãæçµçãªæ€çŽ¢çµæãã§ãããããŸãã ããã§ãã»ã°ã¡ã³ããå¢ãããšæ€çŽ¢ãé
ããªããçç±ãããããŸããããæ€çŽ¢å¯Ÿè±¡ãå¢ããã°å¢ããã»ã©ãåœç¶æéãããããŸãã ãã£ãã·ã¥ã®è©±ãéèŠã§ã Elasticsearchã«ã¯äž»ã«2çš®é¡ã®ãã£ãã·ã¥ããããã§ãããã©ã¡ããã»ã°ã¡ã³ãã®å€æŽã«åœ±é¿ãåããŸãã ãã£ãã·ã¥ åäœ ãã€ç¡å¹åãããïŒ Node query cache ã»ã°ã¡ã³ãåäœ ã»ã°ã¡ã³ããããŒãžãããæ Shard request cache ã·ã£ãŒãåäœ ã·ã£ãŒãããªãã¬ãã·ã¥ãããæ æ°ããã»ã°ã¡ã³ãã«ã¯ãŸã ãã£ãã·ã¥ããªãã®ã§ãæåã®ã¯ãšãªã¯å¿
ããã£ãã·ã¥ãã¹ã«ãªããŸãããããããŒãžãèµ°ããšãã£ããæºãããã£ãã·ã¥ãæ¶ããŠããŸãã ã»ã°ã¡ã³ããé »ç¹ã«äœããããããŒãžããããããç°å¢ã§ã¯ããã£ãã·ã¥ããªããªãå¹ããªããªããŸãã åèããã¥ã¡ã³ãïŒ Tune for search speed | Elastic Docs Node query cache settings | Reference 4. ã»ã°ã¡ã³ãããŒãž â éãåŠç ããã¯ã°ã©ãŠã³ãã§å®æçã«ã»ã°ã¡ã³ãã®ããŒãžåŠçãèµ°ããŸããå°ããªã»ã°ã¡ã³ãããŸãšããŠå€§ããªã»ã°ã¡ã³ãã«ããåŠçã§ãããã®éã転眮ã€ã³ããã¯ã¹ã®åæ§ç¯ãè¡ããããããCPUãšI/Oã倧éã«æ¶è²»ããŸãã ããŒãžãããããã¡ãªãã 现ããã»ã°ã¡ã³ãã倧ããªã»ã°ã¡ã³ãã«çµ±åãããŸã åé€ãã©ã°ä»ãã®ããã¥ã¡ã³ããç©çåé€ãããŸã ã»ã°ã¡ã³ãæ°ãæžããããæ€çŽ¢ãé«éåããŸã ãã ããããŒãžäžã¯éã ããŒãžèªäœã¯ãšãŠãéãåŠçã§ããããŒãžãèµ°ã£ãŠããéã¯ãæ€çŽ¢ãã€ã³ããã·ã³ã°ã圱é¿ãåããŸãã Elasticsearchã«ã¯Auto-throttlingïŒèªåã¹ããããªã³ã°ïŒãšããä»çµã¿ããããããŒãžãã€ã³ããã·ã³ã°ã«è¿œãã€ããªããªããšãã€ã³ããã·ã³ã°èªäœã«ãã¬ãŒããããããŸããããã¯ãã»ã°ã¡ã³ãççºããé²ãããã®å®å
šè£
眮ã§ãã ã»ã°ã¡ã³ãããŒãžãã©ããªæãã§é²ãã®ããèŠèŠçã«çè§£ãããæ¹ã¯ ãã¡ãã®èšäº ãããããã§ãã åèããã¥ã¡ã³ãïŒ Merge settings | Reference Force merge API | Elasticsearch Docs ãŸãšã é·ããªããŸãããããããŸã§èªãã§ããã ãããããšãããããŸãã ä»ååŠãã ããšã§ç¹ã«å€§äºã ãªãšæã£ãã®ã¯ããã®3ã€ã§ãã ã»ã°ã¡ã³ãã¯immutable â æŽæ°ã»åé€ã®ãã³ã«æ°ããã»ã°ã¡ã³ããã§ãã Refreshã®30ç§ã«ãŒã« â æ€çŽ¢ããªãã·ã£ãŒãã¯Refreshãã¹ãããããã ããŒãžã¯éã â CPUã»I/Oã倧éã«äœ¿ãããã£ãã·ã¥ãç¡å¹åããã æ¬çªç°å¢ã§ããªããéããªããšæã£ãæã¯ãã»ã°ã¡ã³ãã®ç¶æ
ãããŒãžã®çºçç¶æ³ãèŠãŠã¿ãŠãã ããããã£ãšäœããã³ããèŠã€ããã¯ãã§ãã ããåããããªåé¡ã§æ©ãã§ããæ¹ããããããã®èšäºãå°ãã§ãåèã«ãªãã°å¬ããã§ãã ã¡ãªã¿ã«ãä»åã®èª¿æ»ããã£ããã«ãããŒã ã¡ã³ããŒãElasticsearchã®è©³çްãªç¶æ³ãåéã§ããä»çµã¿ãæŽããŠãããŸãããå®éã®ããŒã¿ãããšã«ããåæãèå¯ãæ
å ±åéããããã®èгç¹ãæ¹æ³ã«ã€ããŠã¯ããã®ã¡ã³ããŒãç¶ç·šã§ç޹ä»ããŠããããããããŸããããæ¥œãã¿ã«ïŒ
RAGïŒãã¯ãã«DBã¯èª€è§£ãBM25ãWebæ€çŽ¢ãGraphRAGãªã©7ã€ã®ææ³ãæ¯èŒè¡šã§æŽçãããŒã¿èŠæš¡ã»ã³ã¹ãã»ç²ŸåºŠã§ã®éžã³æ¹ã解説ããŸãã ã¯ããã« ãRAGãå°å
¥ãããããšãã話ã«ãªããšãå€ãã®å Žåãããããã¯ãã«DBãéžå®ããªããããšããæµãã«ãªããŸãã åŒç€Ÿã§ãRAGæ§ç¯ã»å°å
¥æ¯æŽãµãŒãã¹ãæäŸããŠãããRAGã«ã€ããŠèª¬æããæ©äŒãå€ããããŸãããã®äžã§ãRAGããšããã¯ãã«æ€çŽ¢ããåãæèã§è³ªåãããããšããããããŸãã 確ãã«ããã¬ã³ããšããŠRAGãšãã¯ãã«æ€çŽ¢ãåãæèã§èªãããšã¯ééãã§ã¯ãããŸãããããããå®ã¯ChatGPTãClaudeã®æ€çŽ¢æ©èœãWebæ€çŽ¢ãšã³ãžã³ãšé£æºãããRAGãã®äžçš®ã§ãã æ¬èšäºã§ã¯ãRAGã®åè«æã«ç«ã¡è¿ãã RAGã®æ¬è³ªã¯ãæ€çŽ¢ææ³ãã§ã¯ãªã ãšããããšãæŽçããŸãããããŠããã¯ãã«æ€çޢ以å€ã«ã©ã®ãããªå€éšæ
å ±ã®åãèŸŒã¿æ¹ãããã®ãã俯ç°çã«ç޹ä»ããŸãã RAGã®å®çŸ©ã«ç«ã¡è¿ã RAGãšã¯äœã RAGïŒRetrieval-Augmented GenerationïŒæ€çŽ¢æ¡åŒµçæïŒãšã¯ãLLMïŒå€§èŠæš¡èšèªã¢ãã«ïŒã«å€éšã®æ
å ±ãäžããããšã§ãåçã®ç²ŸåºŠãåäžãããææ³ã§ããLLMã¯åŠç¿ããŒã¿ã«åºã¥ããŠåçãçæããŸãããåŠç¿åŸã®ææ°æ
å ±ã瀟å
åºæã®ç¥èã¯æã£ãŠããŸãããRAGã¯ãã®èª²é¡ããå€éšããå¿
èŠãªæ
å ±ãæ€çŽ¢ããŠè£ãããšããã¢ãããŒãã§è§£æ±ºããŸãã RAGã®éå±€æ§é ãæŽçãã RAGãçè§£ããããã«ã以äžã®éå±€æ§é ãæŽçããŠãããŸãããã ããã§éèŠãªã®ã¯ã RAGã®æ¬è³ªã¯ãå€éšç¥èãã³ã³ããã¹ãã«è£ãã¢ãããŒããã§ããããã©ãåã蟌ãããã¯ææ®µã®è©± ã ãšããããšã§ãããã¯ãã«æ€çŽ¢ã¯å®è£
éžæè¢ã®äžã€ã«éããŸããã åè«æïŒLewis et al., 2020ïŒã®å®çŸ© RAGã®åè«æ ã§ã¯ãRAGã以äžã®ããã«å®çŸ©ããŠããŸãã “models which combine pre-trained parametric and non-parametric memory for language generation” ïŒèšèªçæã®ããã«ãäºååŠç¿æžã¿ã®ãã©ã¡ããªãã¯ã¡ã¢ãªãšéãã©ã¡ããªãã¯ã¡ã¢ãªãçµã¿åãããã¢ãã«ïŒ ãã©ã¡ããªãã¯ã¡ã¢ãª : LLMãåŠç¿æã«ç²åŸããç¥èïŒã¢ãã«ã®éã¿ã«æ ŒçŽïŒ éãã©ã¡ããªãã¯ã¡ã¢ãª : å€éšããååŸããç¥èïŒæ€çŽ¢ã§ååŸïŒ 泚ç®ãã¹ãã¯ããã®å®çŸ©ã«ããã¯ãã«æ€çŽ¢ããšããéå®ããªãããšã§ããè«æã®å®è£
äŸã§ã¯DPRïŒDense Passage RetrievalïŒãšãããã¯ãã«æ€çŽ¢ææ³ã䜿ãããŠããŸããããRAGã®å®çŸ©èªäœã¯ãå€éšç¥èãã©ã®ããã«ååŸãããããéå®ããŠããŸããã è«æã«ãããæŠå¿µã®çºå± RAGãšããæŠå¿µã¯ãæ§ã
ãªè«æãçºè¡šãããäžã§çºå±ãç¶ããŠããŸãã 2020幎 : RAGã¯ãBART + DPRããšãã ç¹å®ã®ã¢ãã«ã¢ãŒããã¯ã㣠ãšããŠææ¡ãããŸãããè«æã§ã¯ “RAG models”ã”fine-tuning recipe” ãšãã£ãçšèªã䜿ãããŠããŸãã 2024幎 : RAGã¯ãå€éšç¥èãšLLMãçµ±åããããã® å
æ¬çãªæŠå¿µ ããšããŠåå®çŸ©ãããŠããŸãïŒ RAG Survey ã Modular RAG ïŒã”RAG paradigms”ã”framework”ã”LEGO-like framework” ãšãã£ãçšèªã䜿ãããåäžã®æè¡ã§ã¯ãªã ç®çéæã®ããã®æŠå¿µã»èãæ¹ ãšããŠæ±ãããŠããŸãã è£è¶³ : RAGã®çºå±æ®µéïŒNaive â Advanced â ModularïŒãåææ³ã®æ°å€çãªæ¯èŒã«ã€ããŠã¯ãåŒç€Ÿããã°ã RAGã¯ã©ã®ããã«é²åããŠããã®ãïŒ ãã§äœç³»çã«è§£èª¬ããŠããŸããæ¬èšäºã§ã¯ãRAGãšã¯äœãããšããæŠå¿µã®æŽçã«çŠç¹ãåœãŠãŸãã RAGã«ãããå€éšæ
å ±ã®åãèŸŒã¿æ¹ RAGãå®çŸããããã®å€éšæ
å ±ã®åãèŸŒã¿æ¹ã¯ããã¯ãã«æ€çŽ¢ã ãã§ã¯ãããŸãããããã§ã¯ä»£è¡šçãªææ³ã玹ä»ããŸãã ææ³éžæã®èãæ¹ã¯ã ãŠãŒã¹ã±ãŒã¹ã«é©ããæ¹æ³ã§ãå¿
èŠãªæ
å ±ãLLMã«äžãã ãã§ããåææ³ã«ã¯åŸæãªæ
å ±ã®ç¹æ§ãããããŠãŒã¹ã±ãŒã¹ã«å¿ããŠéžæããŸãããŸããåäžã®ææ³ã ãã§ãªããè€æ°ã®ææ³ãçµã¿åãããããšãæå¹ãªéžæè¢ã§ãã ãªããã©ã®ææ³ãéžæããŠããå°å
¥ããŠçµããã§ã¯ãããŸããã粟床枬å®ãšç¶ç¶çãªã¡ã³ããã³ã¹ïŒãã¥ãŒãã³ã°ãããŒã¿æŽæ°ãã¯ãšãªæé©åãªã©ïŒã¯å
±éããŠå¿
èŠãªåãçµã¿ã§ãã ãã¯ãã«æ€çŽ¢å åã蟌ã¿ãã¯ãã«ã«ããæå³çé¡äŒŒåºŠæ€çŽ¢ãè¡ãææ³ã§ãã ç¹åŸŽ : æå³çãªé¡äŒŒæ§ãæãããã é©ãããŠãŒã¹ã±ãŒã¹ : ãããã«äŒŒãäºäŸã¯ïŒããé¢é£ããããã¥ã¡ã³ããæ¢ãããããªã©ãæå³çã«é¡äŒŒããæ
å ±ãæ¢ãå Žé¢ å®çŸããŒã¯ãŒã : Auzre AI Search , Pinecone, FAISS, pgvector, Milvus, Chroma, Weaviate, Qdrant ããŒã¯ãŒãæ€çŽ¢åïŒBM25ïŒ åŸæ¥ã®å
šææ€çŽ¢ã¢ã«ãŽãªãºã ãæŽ»çšããææ³ã§ãã ç¹åŸŽ : å®å
šäžèŽãéèŠãªå Žé¢ã§æå¹ é©ãããŠãŒã¹ã±ãŒã¹ : ãšã©ãŒã³ãŒãæ€çŽ¢ãæ³åŸæ¡æã補ååçªãåºæåè©ãªã©ãå®å
šäžèŽã»éšåäžèŽãéèŠãªå Žé¢ å®çŸããŒã¯ãŒã : Auzre AI Search, Elasticsearch, OpenSearch, Apache Solr, Whoosh ãã€ããªããæ€çŽ¢å ãã¯ãã«æ€çŽ¢ãšããŒã¯ãŒãæ€çŽ¢ãçµã¿åããããªã©ã³ãã³ã°ãšäœµçšããææ³ã§ãã ç¹åŸŽ : æå³çé¡äŒŒæ§ãšå®å
šäžèŽã®äž¡ç« é©ãããŠãŒã¹ã±ãŒã¹ : æå³çé¡äŒŒæ§ãšå®å
šäžèŽã®äž¡æ¹ãæ±ããããå Žé¢ãå€§èŠæš¡ããŒã¿ã§é«ãæ€çŽ¢ç²ŸåºŠãå¿
èŠãªå Žé¢ å®çŸããŒã¯ãŒã : Azure AI Search, Elasticsearch (kNN + BM25), OpenSearch, Pinecone (Hybrid), Weaviate (Hybrid) Webæ€çŽ¢å å€éšæ€çŽ¢ãšã³ãžã³ãšé£æºããŠãªã¢ã«ã¿ã€ã æ
å ±ã«ã¢ã¯ã»ã¹ããææ³ã§ãã ç¹åŸŽ : ãªã¢ã«ã¿ã€ã æ
å ±ãžã®ã¢ã¯ã»ã¹ãå¯èœ é©ãããŠãŒã¹ã±ãŒã¹ : ææ°ãã¥ãŒã¹ãçŸåšã®äŸ¡æ Œã»åšåº«ãã€ãã³ãæ
å ±ãªã©ããªã¢ã«ã¿ã€ã æ§ãæ±ããããæ
å ± å®çŸããŒã¯ãŒã : ChatGPT Search, Claude Web Search, Gemini Grounding, Perplexity, Bing API, Google Custom Search API æ§é åæ€çŽ¢å ãã¬ããžã°ã©ããæ§é åããŒã¿ããŒã¹ã掻çšããææ³ã§ãã GraphRAG ãã¬ããžã°ã©ããæŽ»çšãããšã³ãã£ãã£éã®é¢ä¿ãæ€çŽ¢ é©ãããŠãŒã¹ã±ãŒã¹ : ãAãšBã¯ã©ãé¢ä¿ããïŒããããã«é¢é£ãã人ç©ã¯ïŒããªã©ãé¢ä¿æ§ã蟿ãå¿
èŠãããå Žé¢ SQLæ€çŽ¢ æ§é åããŒã¿ããã®æ£ç¢ºãªããŒã¿ååŸ é©ãããŠãŒã¹ã±ãŒã¹ : 売äžããŒã¿ãåšåº«æ°ããŠãŒã¶ãŒæ
å ±ãªã©ãæ§é åããŒã¿ããæ£ç¢ºãªå€ãååŸããå Žé¢ å®çŸããŒã¯ãŒã : Neo4j, Amazon Neptune, Azure Cosmos DB (Gremlin), PostgreSQL, BigQuery ããã¥ã¢ã«RAGïŒäººåè£å¡«åïŒ äººéãéžæçã«æç« ãè£å¡«ããææ³ã§ãã ç¹åŸŽ : æèçè§£ãæé»ç¥ã®æŽ»çšãå¯èœ é©ãããŠãŒã¹ã±ãŒã¹ : PoCã»å°ééçšãæé»ç¥ã®æŽ»çšãã·ã¹ãã ååã®æ€èšŒãæèäŸåã§äººéã®å€æãå¿
èŠãªå Žé¢ å®çŸããŒã¯ãŒã : ã³ããŒ&ããŒã¹ãã瀟å
Wikiåç
§ãããã¥ã¡ã³ãæåéžæ å®ã¯ãChatGPTãClaudeã«ãã¡ã€ã«ãã¢ããããŒãããŠè³ªåããã®ããåºçŸ©ã§ã¯ããã¥ã¢ã«RAGã®äžçš®ãšèšããŸããèšèãç°ãªãã ãã§ãæŠå¿µçã«ã¯RAGãè§Šã£ãŠããæ©äŒã¯å€ãã®ãããããŸããã ææ³ã®åé¡ãŸãšã ææ³ã®å
šäœå ææ³éžæã®æ¯èŒè¡š ææ³ æ
å ±ã®ç¹æ§ ããŒã¿èŠæš¡ åæã³ã¹ã éçšè² è· ç²ŸåºŠå®å®æ§ ãã¯ãã«æ€çŽ¢ æå³çé¡äŒŒ å€§èŠæš¡å¯Ÿå¿ é« äžãé« é« BM25 å®å
šäžèŽ å€§èŠæš¡å¯Ÿå¿ äž äœãäž é« ãã€ããªãã äž¡æ¹ å€§èŠæš¡å¯Ÿå¿ é« é« æé« Webæ€çŽ¢ ãªã¢ã«ã¿ã€ã å€éšäŸå äœ äœ å€éšäŸå GraphRAG é¢ä¿æ§ äžèŠæš¡åã é« é« ãŠãŒã¹ã±ãŒã¹äŸå SQLæ€çŽ¢ æ§é åããŒã¿ å€§èŠæš¡å¯Ÿå¿ äžïŒæ¢å掻çšïŒ äœãäž é« ããã¥ã¢ã«RAG æèäŸå å°èŠæš¡ã®ã¿ äœ é«ïŒäººçïŒ äººäŸå ãŸãšã æ¬èšäºã§ã¯ãRAGã®æ¬è³ªãšå€éšæ
å ±ã®åãèŸŒã¿æ¹ã«ã€ããŠæŽçããŸããã RAGã¯åäžã®æè¡ã§ã¯ãªããLLMã®åç粟床ãåäžãããããã®æŠå¿µã§ãã è«æã§ã2024幎以éã¯ããã©ãã€ã ãããã¬ãŒã ã¯ãŒã¯ããšããŠæ±ãããŠããŸãã RAGã®ç®çã¯ãèŠæ±ãããåç粟床ã®éæãã§ãã ææ³ã¯ãããŸã§ç®çéæã®ããã®ææ®µã§ããããã¯ãã«æ€çŽ¢ã¯éžæè¢ã®äžã€ã«éããŸããã ãã ãããã¯ãã«æ€çŽ¢ãæå¹ãªã±ãŒã¹ãå€ãã®ãäºå®ã§ãã å€§èŠæš¡ããŒã¿ã§æå³çãªæ€çŽ¢ãå¿
èŠãªå Žé¢ã§ã¯ããã¯ãã«æ€çŽ¢ããã€ããªããæ€çŽ¢ãæå¹ã§ãããå€ãã®RAGã·ã¹ãã ã§æ¡çšãããŠããŸãããããå¯äžã®éžæè¢ã§ã¯ãªãããšããããšã§ãã ææ³éžæã¯æŠç¥ç倿ã§ãã 粟床èŠä»¶ãã³ã¹ããã¹ã±ãŒã«ãéçšè² è·ãèæ
®ãããŠãŒã¹ã±ãŒã¹ã«å¿ããŠæé©ãªåãèŸŒã¿æ¹ãéžã³ãŸãããã RAGå°å
¥ããæ€èšã®æ¹ãž åŒç€Ÿã§ã¯ãRAGãæŽ»çšãããœãªã¥ãŒã·ã§ã³ãæäŸããŠããŸãã 瀟å
ãã¬ããžæŽ»çšAIãã£ããå°å
¥ãµãŒãã¹ : ã客æ§ã®Azureç°å¢ã«åŒç€ŸRAGãããã¯ããæ§ç¯ããŸããå°å
¥ã ãã§ãªããå°å
¥åŸã®ç²ŸåºŠæ¹åã®æ¯æŽããå©çšæ®åã«åããæ¯æŽãªã©ããŒã¿ã«çã«ãµããŒããè¡ããŸãã RAGã¹ã¿ãŒã¿ãŒãã㯠: RAGãããã¯ããã¹ããŒãã£ãŒã«å°å
¥ããŸããããã£ããUIïŒåç粟床ã®è©äŸ¡ã»æ¹åã®ããã®ãªãŒã«ã€ã³ã¯ã³åºç€ããæäŸããŠããŸããå°å
¥åŸã¯ã客æ§åŽã§èªç±ãªã«ã¹ã¿ãã€ãºãå®å°ããã ããŸãããšãããã詊ããŠã¿ããïŒãšããæ¹ã«ãå§ãã§ãã ãRAGãå°å
¥ãããããã©ã®ææ³ãéžã¹ã°ãããããããªãããRAGã®ç²ŸåºŠãåºãªãããšãã£ããæ©ã¿ãããã°ããæ°è»œã«ãçžè«ãã ããã åèæç® Lewis, P., et al. (2020). “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks.” arXiv:2005.11401. https://arxiv.org/abs/2005.11401 Gao, Y., et al. (2024). “Retrieval-Augmented Generation for Large Language Models: A Survey.” arXiv:2312.10997. https://arxiv.org/abs/2312.10997 Gao, Y., et al. (2024). “Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks.” arXiv:2407.21059. https://arxiv.org/abs/2407.21059 é¢é£èšäº RAGã¯ã©ã®ããã«é²åããŠããã®ãïŒ ã芧ããã ãããããšãããããŸãïŒ ãã®æçš¿ã¯ã圹ã«ç«ã¡ãŸãããïŒ åœ¹ã«ç«ã£ã 圹ã«ç«ããªãã£ã 0人ããã®æçš¿ã¯åœ¹ã«ç«ã£ããšèšã£ãŠããŸãã The post ãã¯ãã«æ€çޢ以å€ã®RAGææ³7éžïœæ¯èŒè¡šä»ã解説 first appeared on SIOS Tech Lab .
ç®æ¬¡ ã¯ããã« éçºç°å¢ æ§æå³ äºåæºå ãªããžããªã®ååŸãšå±é ç°å¢å€æ°ã®èšå® ã³ã³ããã®èµ·å EDOT Collector ã®èšå® 5.1. Python ã³ã³ãããžã®æ¥ç¶ 5.2. EDOT Collector ã®ããŠã³ããŒã Elasticsearch ãšã®é£æºèšå® 6.1. System OpenTelemetry Assets ã®æå¹å 6.2. API Key ã®çæ 6.3. otel.yml ã®ç·šé 6.4. EDOT Collector ã®èµ·å Python ã¢ããªã®ãã¬ãŒã¹ååŸ 7.1 appuser ã§ Python ã³ã³ãããžæ¥ç¶ãã 7.2. èšè£
(Instrumentation) ã®æºå 7.3. Python ã¢ããªã®å®è¡ 芳枬ããŒã¿ã®ç¢ºèª 8.1. Dashboard ã®è¡šç€º 8.2. Logs ã®è¡šç€º 8.3. ãã¬ãŒã¹ã®è¡šç€º ãŸãšã åèURL ã¯ããã« ãããŸã§ Elastic Observability ã§ãã«ã¹ã¿ãã¯ãªèŠ³æž¬ãå®çŸããã«ã¯ãFleet Server ã Elastic Agentãããã³å IntegrationïŒSystem, APMçïŒã®åå¥èšå®ãå¿
èŠã§ããã ããããææ°ã® Elastic Observability (v9.2以é) ã§ã¯ãOpenTelemetry (OTel) ããã€ãã£ãã«ãµããŒãã ããã«ãããç¬èªãšãŒãžã§ã³ãã®è€éãªç®¡çãã¹ãããããŠãããæšæºçãã€æè»ã«ããŒã¿ãéçŽã§ããããã«ãªããŸããã æ¬èšäºã§ã¯ããã®æ°ããæ©èœã®äœ¿ãæ¹ã解説ããŸãã éçºç°å¢ Elasticsearch / Kibana: v9.2.4 Basic License Python : v3.14 Dockerç°å¢ : çè
㯠Windows äžã® Rancher Deskop 1.20.1 ãå©çš â»ã¹ããŒã¿ã¹: OpenTelemetry Integration ã¯ãElasticsearch 9.2 æç¹ã§ Preview ã§ãã æ§æå³ ä»åã®æ§æã§ã¯ãPythonã¢ããªã±ãŒã·ã§ã³ã皌åããã³ã³ããå
ã« EDOT (Elastic Distribution of OpenTelemetry) Collector ãé
眮ããããããçŽæ¥ Elasticsearch ãžããŒã¿ãéä¿¡ããŸãã äºåæºå ãªããžããªã®ååŸãšå±é ãŸãã¯æ€èšŒçšã³ãŒããããŠã³ããŒãããŸãã https://github.com/SIOS-Technology-Inc/elastic-blogs/tags  ã«ã¢ã¯ã»ã¹ããŸãã release-2026-02-02 ãã¯ãªãã¯ããŸãã Assets ã® Source code (zip) ãã¯ãªãã¯ããŸãã elastic-blogs-release-2026-02-02.zip ãããŠã³ããŒããããŸãã elastic-blogs-release-2026-02-02.zip ãè§£åããŸãã ç°å¢å€æ°ã®èšå® Windows ãªã©ã§ã¿ãŒããã«ãéããŸãã 2026-02-otel/app ãã©ã«ãã«ç§»åããŸãã cd 2026-02-otel/app .env.sample ãã³ããŒããŠããã¹ã¯ãŒããã¡ã¢ãªå¶éãªã©ã®ç°å¢å€æ°ãèšå®ããŸãã cp .env.sample .env ã¡ã¢åž³ãªã©ã§ .env ãã¡ã€ã«ãç·šéããŸãã ... ELASTIC_PASSWORD=... (Elasticsearchã®ãã¹ã¯ãŒããèšå®ããŸãã) KIBANA_PASSEORD=... (Kibanaçšã®å
éšãã¹ã¯ãŒããèšå®ããŸãã) ... SAVEDOBJECTS_ENCRYPTIONKEY=... (SavedObjectsçšã®æå·åããŒãèšå®ããŸãã) ... ES01_MEM_LIMIT=... (Elasticsearchã®ã¡ã¢ãªäžéãèšå®ããŸãã) KB_MEM_LIMIT=... (Kibanaã®ã¡ã¢ãªäžéãèšå®ããŸãã) ã³ã³ããã®èµ·å docker compose -f docker-compose-es-kibana-python.yml up -d EDOT Collector ã®èšå® 5.1. Python ã³ã³ãããžã®æ¥ç¶ â»ä»åã¯ãPython ãåããã³ã³ããã« Elastic Distribution of OpenTelemetry (EDOT) Collector ãã€ã³ã¹ããŒã«ããã®ã§ãPython ã³ã³ãããžæ¥ç¶ããŸãã root æš©éã§ã€ã³ã¹ããŒã«ããã³å®è¡ããã®ã§ã-u 0 ãæå®ããŸãã docker exec -itu 0 app-python-app-1 /bin/bash 5.2. EDOT Collector ã®ããŠã³ããŒã äžèšã§ Elastic 9.2.4 çšã® EDOT Collector ãããŠã³ããŒãããŸãã wget https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-9.2.4-linux-x86_64.tar.gz tar xvfz elastic-agent-9.2.4-linux-x86_64.tar.gz cd elastic-agent-9.2.4-linux-x86_64 # èšå®çšãã£ã¬ã¯ããªã®äœæãšãµã³ãã«ã®ã³ã㌠mkdir data/otel cp ../otel.yml.sample otel.yml otel.yml.sample ã¯ãããããã elastic-agent-9.2.4-linux-x86_64 å
ã® otel.yml.sample ãæœåºããæ¹å€ãããã®ã§ãã exporters/elasticsearch/otel/tls ãªã©ãæ¹å€ããŠããŸãã â»otel.yml ã®ç·šéã¯ãåŸã§è¡ããŸãã Elasticsearch ãšã®é£æºèšå® 6.1. System OpenTelemetry Assets ã®æå¹å Web ãã©ãŠã¶ãã http://localhost:5601  ãžã¢ã¯ã»ã¹ãã ãŠãŒã¶ãŒID: elastic ãã¹ã¯ãŒã: 4.2. ã§ ELASTIC_PASSWORD ã«èšå®ããæåå ã§ Kibana ã«ãã°ã€ã³ããŸãã Management / Integrations ç»é¢ã衚瀺ããŸãã Display: beta integrations ã ON ã«ããŸã(â»System OpenTelemetry Assets ã¯ãElastic 9.2.4 ã®æç¹ã§ã¯ Preview çã®ãã)ã System OpenTelemetry Assets ãæ€çŽ¢ããã¯ãªãã¯ããŸãã å³äžã® [â Install System OpenTelemetry Assets] ãã¿ã³ãã¯ãªãã¯ããŸãã Install System OpenTelemetry Assets ã®ãã€ã¢ãã°ã衚瀺ãããã®ã§ãå³äžã® [Install System OpenTelemetry Assets] ãã¿ã³ãã¯ãªãã¯ããŸãã â»Assetsæ¬ã«ããããã·ã¥ããŒããã€ã³ã¹ããŒã«ãããŸãã 6.2. API Key ã®çæ EDOT Collector ãã Elasticsearch ãžæžã蟌ãããã® API Key ãçæããæ§ããŠãããŸãã Kibana ã® Home ç»é¢ãã Elasticsearch ã¢ã€ã³ã³ãã¯ãªãã¯ããŸãã [Create API key ] ãã¿ã³ãã¯ãªãã¯ããŸãã Name : otel ãšå
¥åãã[Create API key] ãã¯ãªãã¯ããŸãã API Key ãçæãããã®ã§ãã³ããŒããŠãããŸãïŒã¡ã¢åž³ãªã©ã«äžæçã«ããŒã¹ãããŠãããŸãïŒã 6.3. otel.yml ã®ç·šé Python ãåäœãããŠããã³ã³ããäžã§äœæ¥ããŸãã vi otel.yml ååŸãã API Key ã 5.2. ã§é
眮ãã otel.yml ã«åæ ãããŸãã ... exportes: elasticsearch/otel: endpoints: ["https;//es01:9200"] api_key: "YOUR_API_KEY_HERE" ... 6.4. EDOT Collector ã®èµ·å ä»åã¯ããããŸã§ãæ€èšŒçšã®ããã®å®è¡ãªã®ã§ãã¿ãŒããã«ããããã¯ã°ã©ãŠã³ãã§å®è¡ããŸãã ./otelcol --config ./otel.yml >> /var/log/otelcol.log 2>&1 & ããã§ãPython ã³ã³ããã®ãã°ãã¡ããªã¯ã¹ã Elasticsearch ãžéä¿¡ãããããã«ãªããŸãã ãã®ã³ã³ããããã¯ãexit ã㊠OK ã§ãã Python ã¢ããªã®ãã¬ãŒã¹ååŸ 7.1 appuser ã§ Python ã³ã³ãããžæ¥ç¶ãã docker exec -it app-python-app-1 /bin/bash 7.2. èšè£
(Instrumentation) ã®æºå OpenTelemetry ã®ã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããŸãã edot-bootstrap --action=install opentelemetry-bootstrap -a install 7.3. Python ã¢ããªã®å®è¡ ã³ãŒãã« Elastic å°çšã®åŠçãæžãå¿
èŠã¯ãããŸããã opentelemetry-instrument ãå ããŠå®è¡ããã ãã§ãèªåçã«ãã¬ãŒã¹ãéä¿¡ãããŸãã å®è¡ãã Python ã¢ã㪠(src/test.py) ã®ãœãŒã¹ã³ãŒã 3åã«ãŒãããã ãã®åçŽãª Python ã³ãŒãã§ãã import time from opentelemetry import trace def func1_sub(tracer): with tracer.start_as_current_span("func1_sub"): print ("Hello") time.sleep(1) def func1(tracer): with tracer.start_as_current_span("func1"): i = 0 while i < 3: func1_sub(tracer) i += 1 if __name__ == "__main__": tracer = trace.get_tracer(__name__) func1(tracer) Python ã¢ããªãå®è¡ããŸãã opentelemetry-instrument python src/test.py ãã®ã³ã³ãããã㯠exit ã㊠OK ã§ãã 芳枬ããŒã¿ã®ç¢ºèª 8.1. Dashboard ã®è¡šç€º Kibana ã® Analytics / Dashboard ããããã·ã¥ããŒãã衚瀺ããŠã¿ãŸãã [Otel] Hosts Overview â»ãã®ããã·ã¥ããŒãã¯ã6.1 ã§è¿œå ããããã®ã§ãã EDOT Collector ãåäœãããŠãããã¹ãã®çšŒåç¶æ³ãå¯èŠåãããŸãã [Otel] Host Details – Metrics EDOT Collector ãåäœãããŠãããã¹ãã® CPU ã Memory, Network ãªã©åçš®ã¡ããªã¯ã¹ãå¯èŠåãããŸãã 8.2. Logs ã®è¡šç€º Kibana ã® Discover ãã logs-* ã衚瀺ããŠã¿ãŸãã EDOT Collector ãåäœãããŠãããã¹ãã® /var/log/*.log ã®å
容ã衚瀺ãããŸãã â»ãã°ã衚瀺ãããªãå Žåã衚瀺察象æéã調æŽããŠã¿ãŠãã ããã 8.3. ãã¬ãŒã¹ã®è¡šç€º Kibana ã® Observability / Application ç»é¢ã衚瀺ããŸãã Service inventory ç»é¢ã衚瀺ãããŸãã my-python-script ãéžæããŸãã “my-python-script” ãšããååã¯ãpython/Dockerfile ã« OTEL_SERVICE_NAME ãšããŠèšèŒããŠãããã®ã§ãã my-python-script ã® Overview ã衚瀺ãããŸãã Transactions ãã¯ãªãã¯ããŸãã src/test.py ã®ãã©ã³ã¶ã¯ã·ã§ã³ã«é¢ããæ
å ±ã衚瀺ãããŸãã ç»é¢ã®äžã®æ¹ã® Transactions ã® func1 ãã¯ãªãã¯ããŸãã func1 ã® trace æ
å ±ã衚瀺ãããŸãã func1 å
ã§ func1_sub ã3åå®è¡ãããå®è¡æéã¯ããããã3ç§ã1ç§ãšãªã£ãŠããããšãããããŸãã â» “func1” ã “func1_sub” ãšãã£ãååã¯ãsrc/test.py å
ã«èšèŒãããã®ã§ãã ãŸãšã OpenTelemetry ãæ¡çšããããšã§ã以äžã®å€§ããªã¡ãªãããåŸãããŸãã éçšã®ç°¡çŽ å: Fleet Server ãè€é㪠Agent 管çããè§£æŸãããŸãã è±ãã³ããŒããã¯ã€ã³: æ¥çæšæºã®ãããã³ã«ïŒOTLPïŒã䜿çšãããããå°æ¥çãªãã©ãããã©ãŒã ã®ç§»è¡ã䜵çšã容æã«ãªããŸãã ããŒã¿ããªãã£: Elastic åºæã®ã³ãŒããã¢ããªã«åã蟌ãå¿
èŠããªããªããã³ãŒãã®çŽç²æ§ãä¿ãŠãŸãã çŸåš Preview æ©èœã§ãããä»åŸã® Observability ã®ããã¡ã¯ãã¹ã¿ã³ããŒãã«ãªãããšãäºæ³ãããŸãããã²ä»ã®ãã¡ã«è§ŠããŠã¿ãŠãã ããã åèURL https://qiita.com/takeo-furukubo/items/2747bdf3e28037b1870b https://qiita.com/takeo-furukubo/items/5f5322977daf6d48fc8c https://www.elastic.co/docs/solutions/observability/get-started/opentelemetry/quickstart/self-managed/hosts_vms https://github.com/SIOS-Technology-Inc/elastic-blogs The post OpenTelemetry ã䜿ã£ãŠ Elastic Observability ã«ãã°ãã¡ããªã¯ã¹ããã¬ãŒã¹ãåã蟌ãã§ã¿ããã first appeared on Elastic Portal .















