グãƒŦãƒŧ
ドッã‚Ģãƒŧã‚ŗãƒŗ

Docker内でLangChainベãƒŧ゚ぎデãƒŧã‚ŋベãƒŧ゚ベãƒŧ゚ぎGenAIã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’čŋ…速ãĢæ§‹į¯‰ã™ã‚‹æ–šæŗ•

こぎプãƒŦã‚ŧãƒŗãƒ†ãƒŧã‚ˇãƒ§ãƒŗã§ã¯ã€å¤§čĻæ¨Ąč¨€čĒžãƒĸデãƒĢをäŊŋį”¨ã™ã‚‹éš›ãŽčĒ˛éĄŒã¨åˆŠį‚šãĢついãĻčĒŦ明し、開į™ēč€…ãŒDocker内でLangChainベãƒŧ゚ぎデãƒŧã‚ŋベãƒŧ゚ベãƒŧ゚ぎGenAIã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’čŋ…速ãĢã‚ģットã‚ĸãƒƒãƒ—ãŠã‚ˆãŗæ§‹į¯‰ã™ã‚‹ãŽãĢåŊšįĢ‹ã¤æ–°ã—ã„ãƒ†ã‚¯ãƒŽãƒ­ã‚¸ãƒŧãĢついãĻčĒŦ明しぞす。

į§ãŸãĄãŒãžã¨ã‚ãŸæ–°ã—ã„GenAI゚ã‚ŋックでGenAIã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’æ§‹į¯‰ã™ã‚‹æ–šæŗ•ãĢついãĻčŠąã—åˆã†ã“ãŽãƒ¯ãƒŧã‚¯ã‚ˇãƒ§ãƒƒãƒ—ãĢおčļŠã—いただきありがとうございぞす。 į§ãŽåå‰ã¯Harrison Chaseで、LangChainぎCEOå…ŧå…ąåŒå‰ĩč¨­č€…ã§ã™ã€‚ į§ã¯Michael Hunger、Neo4jぎčŖŊ品イノベãƒŧã‚ˇãƒ§ãƒŗč˛Ŧäģģč€…ã§ã™ã€‚ ä슿œãŽåŸēčĒŋčŦ›æŧ”をごčϧãĢãĒãŖãŸæ–šã‚‚ã„ã‚‰ãŖã—ã‚ƒã‚‹ã¨æ€ã„ãžã™ãŒã€ã“ã“ã§ã‚„ã‚ŠãŸã„ãŽã¯ã€ãĒぜ、おぎようãĢã€čˆžå°čŖãĢäŊ•ãŒã‚ã‚‹ãŽã‹ã€ã‚ŗãƒŧドが原際ãĢおぎようãĒもぎãĒぎか、そしãĻおぎようãĢ始めればよいぎかãĢついãĻã€ã‚‚ã†å°‘ã—æˇąãæŽ˜ã‚Šä¸‹ã’ã‚‹ã“ã¨ã§ã™ã€‚

こぎGenAI゚ã‚ŋãƒƒã‚¯ã‚¤ãƒ‹ã‚ˇã‚ĸチブãĢは、LangChainとNeo4jぎ4つぎパãƒŧトナãƒŧがおり、すずãĻDockerとOllamaがロãƒŧã‚ĢãƒĢLLM向けãĢã‚Ēãƒŧã‚ąã‚šãƒˆãƒŦãƒŧã‚ˇãƒ§ãƒŗã—ãĻいぞす。 čƒŒæ™¯ã‚’čĒŦ明するためãĢ、大čĻæ¨Ąč¨€čĒžãƒĸデãƒĢ(LLM)とGenAI全čˆŦãĢついãĻãŠčŠąã—ã—ãžã—ã‚‡ã†ã€‚ LLMをぞだäŊŋãŖãŸã“ã¨ãŒãĒいäēēはいぞすか?1。さãĻ、おそらくãģとんおぎäēēはäŊ•らかぎåŊĸでChatGPTをäŊŋį”¨ã—ãŸã“ã¨ãŒã‚ã‚‹ã§ã—ã‚‡ã†ã€‚

åŸēį¤ŽãƒĸデãƒĢ

LLMは、åŸēæœŦįš„ãĢæƒ…å ąã‚’ä爿¸ŦするためãĢ大量ぎデãƒŧã‚ŋでトãƒŦãƒŧãƒ‹ãƒŗã‚°ã•ã‚ŒãĻいた新しいã‚ŋイプぎåŸēᛤãƒĸデãƒĢぎ一部です。 åž“æĨ、抟æĸ°å­Ļįŋ’ãƒĸデãƒĢは、非常ãĢį‰šæŽŠãĒį›Žįš„ãŽãŸã‚ãĢãƒĸデãƒĢをトãƒŦãƒŧãƒ‹ãƒŗã‚°ã™ã‚‹éžå¸¸ãĢčŗĸいデãƒŧã‚ŋã‚ĩã‚¤ã‚¨ãƒŗãƒ†ã‚Ŗã‚šãƒˆãŽé ˜åŸŸãĢありぞした。 ãŸã¨ãˆã°ã€æŗ•åž‹æ–‡æ›¸ã‚’åˆ†æžã™ã‚‹ãŸã‚ãŽæŗ•įš„ãƒĸデãƒĢや、į”ģåƒå†…ãŽį‰šåŽšãŽéƒ¨åˆ†ã‚„į‰šåŽšãŽį¨ŽéĄžãŽã‚ĒブジェクトをčĒč­˜ã™ã‚‹į”ģ像čĒč­˜ãƒĸデãƒĢãŒã‚ãŖãŸã¨ã—ãžã™ã€‚ つぞり、非常ãĢį‰šæŽŠãĒį›Žįš„ãŽãŸã‚ãĢãƒĸデãƒĢを垎čĒŋ整したり、トãƒŦãƒŧãƒ‹ãƒŗã‚°ã—ãŸã‚Šã™ã‚‹åŋ…čĻãŒã‚ã‚Šã€ã“ã‚Œã‚’åŽŸįžã™ã‚‹ãŸã‚ãĢは、デãƒŧã‚ŋã‚ĩã‚¤ã‚¨ãƒŗãƒ†ã‚Ŗã‚šãƒˆãŒå¸¸ãĢå¤šããŽå…ˇäŊ“įš„ãĒåŠĒ力をしãĒければãĒらãĒã‹ãŖãŸãŽã§ã™ã€‚

åŸēᛤãƒĸデãƒĢでは、åŸēæœŦįš„ãĢ「よし、大量ぎデãƒŧã‚ŋでãƒĸデãƒĢをトãƒŦãƒŧãƒ‹ãƒŗã‚°ã—ã‚ˆã†ã€ã¨č¨€ã‚ã‚Œã‚‹ãŸã‚ã€ã“ã‚Œã‚‰ã™ãšãĻが変わりぞした。 そしãĻ、åŸēæœŦįš„ãĢはä爿¸ŦãƒĄã‚Ģニã‚ēムをäŊŋãŖãĻ、こぎデãƒŧã‚ŋãĢåŸēãĨいãĻ、これらぎãƒĸデãƒĢがå­Ļįŋ’ã—ãŸä¸–į•ŒãŽįŸĨč­˜ã¨ãģãŧåŒã˜ã ã¨č¨€ã†ãŽã§ã™ã€‚ テキ゚ト、į”ģ像、動į”ģãĒおぎãƒĻãƒŧã‚ļãƒŧぎå…ĨåŠ›ã‚’ã€ãŸã¨ãˆã°ã€æƒ…å ąãŽį”Ÿæˆã€æ¤œå‡ēã€æƒ…å ąãŽæŠŊå‡ēãĒお、さぞざぞãĒᔍ途ãĢäŊŋį”¨ã§ããžã™ã€‚ そしãĻ、これぎæœŦåŊ“ãĢクãƒŧãƒĢãĒį‚šã¯ã€ã“ã‚Œã‚‰ãŽãƒĸデãƒĢが開į™ē者ãĢåˆŠį”¨å¯čƒŊãĢãĒãŖãŸã“ã¨ã§ã™ã€‚ デãƒŧã‚ŋã‚ĩã‚¤ã‚¨ãƒŗãƒ†ã‚Ŗã‚šãƒˆã§ã‚ã‚‹åŋ…čĻã¯ã‚‚ã†ã‚ã‚Šãžã›ã‚“ã€‚ これãĢついãĻは垌で少しčĒŦ明しぞす。

ぞた、 2017では、GoogleãŽãƒˆãƒŠãƒŗã‚šãƒ•ã‚Šãƒŧマãƒŧã‚ĸãƒŧã‚­ãƒ†ã‚¯ãƒãƒŖãĢã‚ˆã‚Šã€ã“ãŽį¨ŽãŽãƒĸデãƒĢをトãƒŦãƒŧãƒ‹ãƒŗã‚°ã™ã‚‹ã“ã¨ãŒã§ããžã—ãŸã€‚ そしãĻ、トãƒŦãƒŧãƒ‹ãƒŗã‚°é‡ã¯ã‹ãĒりåĸ—えぞした。 そぎため、これらぎ大čĻæ¨ĄãĒãƒĸデãƒĢã¯ã€įžåœ¨ã€äŊ•å…†ã‚‚ãŽæƒ…å ąãƒˆãƒŧã‚¯ãƒŗã§ãƒˆãƒŦãƒŧãƒ‹ãƒŗã‚°ã•ã‚ŒãĻいぞす。 ぞた、Google、OpenAI、Amazon、Anthropic、Meta、そしãĻã‚‚ãĄã‚ã‚“LlamaãĒãŠã€ã‚ã‚‰ã‚†ã‚‹į¨ŽéĄžãŽãƒ—ãƒ­ãƒã‚¤ãƒ€ãƒŧぎãƒĸデãƒĢがありぞす。 世ぎ中ãĢはたくさんぎãƒĸデãƒĢがあるんですね。 そしãĻã€čˆˆå‘ŗæˇąã„ã“ã¨ãĢã€į‰šåŽšãŽãƒˆãƒŦãƒŧãƒ‹ãƒŗã‚°ã‚ĩイã‚ēから、įǁį„ļ、これらぎãƒĸデãƒĢがå‰ĩį™ēįš„ãĒ動äŊœã‚’į¤ēし始めぞした。 あるãƒŦベãƒĢぞでは、äŊ•とか期垅できãĻã‚‚ã€ã‚ã‚‹į¨‹åēĻぎトãƒŦãƒŧãƒ‹ãƒŗã‚°ã‚ĩイã‚ēãĢãĒると、æ€ĨãĢã‚‚ãŖã¨åĸ—えたようãĒ気がする閞値ぎようãĒもぎがありぞしたよね? äž‹ãˆã°ã€ã‚ã‚‹į¨‹åēĻãŽį†č§Ŗã‚„æ“Ŧäŧŧįš„ãĒäēē間同åŖĢãŽį›¸äē’äŊœį”¨ã¯ã€įžåœ¨į§ãŸãĄãŒ43į›ŽãĢしãĻいるようãĒã€ã‚ã‚‹į¨ŽãŽæ“Ŧäŧŧįš„ãĒäēē間同åŖĢãŽį›¸äē’äŊœį”¨ãŒå¯čƒŊでした。

ぞた、非常ãĢčˆˆå‘ŗæˇąã„ãŽã¯ã€ã“ã‚Œã‚‰ãŽãƒĸデãƒĢがäŧščŠąã‚’čĄŒãˆã‚‹ã‚ˆã†ãĢãĒãŖãŸã“ã¨ã§ã™ã€‚ äģĨå‰ãŽã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆã‚’äŋæŒã§ããžã™ã€‚ より大きãĒã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆã‚Ļã‚Ŗãƒŗãƒ‰ã‚ĻãĒおでäŊœæĨ­ã§ãã‚‹ãŸã‚ã€ããŽä¸ŠãĢはるかãĢč‡Ēį„ļãĢ動äŊœã™ã‚‹ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’æ§‹į¯‰ã§ããžã™ã€‚ では、ãĒぜäģŠã€ã“ã‚“ãĒãĢ暑いぎでしょうか?

LLMでできることはたくさんありぞす。 é›ģå“ã‚„ã‚ŗãƒŗãƒ”ãƒĨãƒŧã‚ŋãƒŧぎようãĒæąŽį”¨ãƒ„ãƒŧãƒĢぎようãĒもぎですよね? ですから、LLMがあãĒたãĢå–ãŖãĻäģŖã‚ã‚‹ã‚ã‘ではありぞせんが、LLMはあãĒãŸã‚’é€Ÿãã—ãŸã‚Šã€ã‚ˆã‚Šį”Ÿį”Ŗįš„ãĢãĒãŖãŸã‚Šã€ã‚ˆã‚Ščŗĸくしたりしぞす。 LLMをäŊŋį”¨ã™ã‚‹ã¨ã€å¤šããŽãƒ‡ãƒŧã‚ŋ取垗ã‚ŋ゚クをč‡Ē動化できぞす。 ãƒĸノからデãƒŧã‚ŋæƒ…å ąã‚’æŠŊå‡ēするためãĢã€į‰šåŽšãŽãƒĸデãƒĢをトãƒŦãƒŧãƒ‹ãƒŗã‚°ã™ã‚‹åŋ…čĻã¯ã‚ã‚Šãžã›ã‚“ã€‚ ã‚¨ãƒŗãƒ‰ ãƒĻãƒŧã‚ļãƒŧ エク゚ペãƒĒã‚¨ãƒŗã‚šã¯ã€įĩ„įš”å†…ã ã‘ã§ãĒくįĩ„įš”å¤–ã§ã‚‚å‘ä¸Šã•ã›ã‚‹ã“ã¨ãŒã§ããžã™ã€‚ たとえば、デãƒŧã‚ŋベãƒŧ゚がある場合、äģĨ前は、デãƒŧã‚ŋãĢã‚ĸクã‚ģ゚するためãĢ、ãƒĻãƒŧã‚ļãƒŧがã‚ĸプãƒĒをäŊœæˆã™ã‚‹ã‹ã€SQLãĒおぎクエãƒĒ言čĒžã‚’č‡Ē分でäŊœæˆã™ã‚‹åŋ…čĻãŒã‚ã‚Šãžã—ãŸã€‚ これで、デãƒŧã‚ŋãĢついãĻč‡Ēį„ļ言čĒžã§čŗĒ問するäēēがåĸ—え、æœŦåŊ“ãĢうれしいです。

そしãĻã‚‚ãĄã‚ã‚“ã€į§ãŸãĄã¯įš†ã€æƒ…å ąãĢ惚かれぞす。 ぞた、LLMã¯į§ãŸãĄã‚’åŠŠã‘ãŸã‚Šã€ä¸€čˆŦįš„ãĒåŸēᛤãƒĸデãƒĢã¯ã€ã“ãŽæƒ…å ąã‚’ã‚ˆã‚Šį†č§Ŗã—ãŸã‚Šã€ã™ã°ã‚„ãčĻį´„ã—ãŸã‚Šã™ã‚‹ãŽãĢåŊšįĢ‹ãĄãžã™ã€‚ ã‚‚ãĄã‚ã‚“ã€įŊ ã¯ã‚りぞすよね? 一斚ぎ側では、LLMã¯æƒ…å ąã‚’į”Ÿæˆã™ã‚‹ãŸã‚ãĢäŊŋį”¨ã•ã‚Œã€äģ–æ–šã§ã¯ã€æƒ…å ąã‚’å†åēĻčĻį´„ã™ã‚‹ãŸã‚ãĢäŊŋį”¨ã•ã‚Œã‚‹ãŸã‚ã€æƒ…å ąãŽčĻį´„ãƒãƒŧã‚¸ãƒ§ãƒŗã‚’é€äŋĄã™ã‚‹ã“ともできぞす。 ですから、一čˆŦįš„ãĒįŠē間ãĢも多くぎįŊ ãŒã‚りぞす。 į‰šãĢ開į™ē者ãĢã¨ãŖãĻã€ã‚ŗãƒŧジェネãƒŦãƒŧã‚ˇãƒ§ãƒŗã¯æœŦåŊ“ãĢクãƒŧãƒĢです。 Copilot をäŊŋį”¨ã—ãŸã“ã¨ãŒã‚ã‚‹æ–šã‚‚å¤šã„ã¨æ€ã„ãžã™ãŒã€Duet AI ãĒお、äģ–ãĢも多くぎツãƒŧãƒĢがありぞす。 これは、č‡Ēį„ļ言čĒžã‹ã‚‰ãŽSQLį”Ÿæˆã€ãžãŸã¯č‡Ēį„ļ言čĒžã‹ã‚‰ãŽæƒ…å ąį”Ÿæˆã§ã™ã€‚ į§ãŸãĄé–‹į™ēč€…ãŒã‚‚ãŖã¨ã†ãžãã‚„ã‚Œã‚‹ã“ã¨ã¯ãŸãã•ã‚“ã‚ã‚Šãžã™ã€‚ それで、åŸēæœŦįš„ãĢは5æ—Ĩã‹ã‹ãŖãĻいたことが、これぞでäŊŋわれãĻいãĒã‹ãŖãŸæ–°ã—ã„ã‚‚ãŽã‚’äŊœã‚‹ãŸã‚ãĢ2〜3時間ãĢįŸ­į¸Žã§ãã‚‹ã¨ã„ã†ã€æœŦåŊ“ãĢč‰¯ã„č¨˜äē‹ã‚’čĻ‹ãžã—ãŸã€‚

čĒ˛éĄŒ

GenAIãĢはいくつかぎčĒ˛éĄŒãŒã‚ã‚Šãžã™ã‚ˆã­? 一つはåšģčĻšãŽã‚ˆã†ãĒもぎで、ã‚Ēã‚Ļムčŋ”しですよね? 「わからãĒã„ã€ã¨č¨€ã†ãŽã§ã¯ãĒãã€ã§ãŖãĄä¸Šã’ãĻいるだけです。 äēēé–“ãŽãƒ•ã‚ŖãƒŧドバックãĢよるåŧˇåŒ–å­Ļįŋ’は、åŸēæœŦįš„ãĢこれらぎãƒĸデãƒĢã‚’ã€Œã‚ã‚ã€į§ã¯å¸¸ãĢäēē間を喜ばせãĒければãĒらãĒい」というようãĒもぎãĢしぞしたよね? ですから、「わからãĒã„ã€ã¨č¨€ã†äģŖã‚ã‚ŠãĢ、たとえそれがすずãĻåŊį‰Šã§ã‚ãŖãĻも、åŊŧらは非常ãĢčĒŦåž—åŠ›ãŽã‚ã‚‹æƒ…å ąã€ãƒĒãƒŗã‚¯ã€ããŽäģ–ãŽã‚‚ãŽã‚’į”Ÿæˆã—ãžã™ã€‚ こぎようãĒã‚ˇã‚šãƒ†ãƒ ã‚’ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚„äŧæĨ­ãĢ導å…ĨしたくãĒいため、これは大きãĒå•éĄŒã§ã™ã€‚ これらぎãƒĸデãƒĢをäŋĄé ŧできるようãĢするåŋ…čĻãŒã‚ã‚Šãžã™ã€‚

そしãĻ、トãƒŦãƒŧãƒ‹ãƒŗã‚°ãƒ‡ãƒŧã‚ŋぎã‚Ģットã‚Ēフが大きãĒå•éĄŒã§ã™ã€‚ ãĒぜãĒら、これらぎトãƒŦãƒŧãƒ‹ãƒŗã‚°æ¸ˆãŋãƒĸデãƒĢはすずãĻį‰šåŽšãŽæ—ĨãĢ送られ、そぎ垌ãĢ垗られるすずãĻãŽæƒ…å ąã¯ãŠã†ãĒるぎでしょうか? ぞたは、これらぎãƒĸデãƒĢをäŊŋį”¨ã—ãĻ、į‹Ŧč‡Ēぎデãƒŧã‚ŋベãƒŧ゚ãĢあるį‹Ŧč‡Ēぎ個äē翃…å ąãĢおぎようãĢã‚ĸクã‚ģ゚しぞすか? įžåœ¨ã€WebãĒおãĢã‚ĸクã‚ģã‚šã™ã‚‹ãŸã‚ãŽãƒ—ãƒŠã‚°ã‚¤ãƒŗãŒã‚ã‚‹å¯čƒŊ性はありぞすが、デãƒŧã‚ŋベãƒŧ゚ãĒおはおうãĒるぎでしょうか? そしãĻ、ã‚ģキãƒĨãƒĒãƒ†ã‚Ŗã‚ŗãƒŗãƒ—ãƒŠã‚¤ã‚ĸãƒŗã‚šã€PIAãĒおをäŋæŒã™ã‚‹åŋ…čĻãŒã‚ã‚Šãžã™ã€‚

åŊŧã‚‰ã¯č¨€čĒžį†č§ŖãĢé•ˇã‘ãĻãŠã‚Šã€į§ãŸãĄã¯ãã‚Œã‚’äŊ•ぎためãĢäŊŋãŖãĻいるぎです。 ですから、åŸēæœŦįš„ãĢはåŊŧã‚‰ãŽč¨€čĒžã‚šã‚­ãƒĢだけをäŊŋい、åŊŧらがäŊŋわれたトãƒŦãƒŧãƒ‹ãƒŗã‚°ãƒ‡ãƒŧã‚ŋはすずãĻį„ĄčĻ–ã—ãĻいぞす。 それで、ぞたåšģčĻšãŒã€ã¨ãĻもč‡ĒäŋĄãĢæē€ãĄãĻいãĻã€ã§ãŖãĄä¸Šã’ãĻいる。 たぞãĢã€į§ãŒäŊ•ã‹ã‚’čŠąã—ãĻいるようãĒ感じですよね? ã‚¤ãƒŗãƒã‚šã‚ŋãƒŧį—‡å€™įž¤ãŽã‚ˆã†ãĢ。 į§ã¯ã™ã§ãĢこれらぎãģとんおãĢついãĻč¨€åŠã—ãžã—ãŸã€‚ ぞた、å€Ģį†įš„ãĒ側éĸもすずãĻです。 そぎデãƒŧã‚ŋはおこからæĨたぎでしょうか? ãŸã¨ãˆã°ã€č‘—č€…ã‚„ã‚ĸãƒŧãƒ†ã‚Ŗã‚šãƒˆãŒãƒˆãƒŦãƒŧãƒ‹ãƒŗã‚°ãĢデãƒŧã‚ŋをäŊŋį”¨ã™ã‚‹ã“ã¨ãĢ寞しãĻå ąé…Ŧは支払われãĻいぞすか? äēēや大äŧæĨ­ã¯ã€ãƒ‡ãƒŧã‚ŋãĢおぎようãĒãƒĸデãƒĢナベãƒĢをäģ˜ã‘ãĻいぞすか? 労働と搞取ぎ側éĸがありぞす。 だから、いろんãĒもぎがある。 čŋ…速ãĒæŗ¨å°„ã¯ã€ãžãŖãŸãååˆ†ãĒã‚ĩãƒŧビ゚を受けãĻいãĒい大きãĒトピックです。

čĒ˛éĄŒã¯ãŸãã•ã‚“ã‚ã‚‹ãŽã§ã€ä¸€ã¤ä¸€ã¤č§ŖæąēしãĻいくåŋ…čĻãŒã‚ã‚Šãžã™ãŒã€ä¸€čˆŦįš„ãĢは、最įĩ‚įš„ãĢはネã‚Ŧãƒ†ã‚Ŗãƒ–ãĒã“ã¨ã‚ˆã‚Šã‚‚æœ‰į›ŠãĒことだと思いぞす。 ã§ã™ã‹ã‚‰ã€į§ã¯ãƒã‚Ŧãƒ†ã‚Ŗãƒ–ãĒįĢ‹å ´ã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚

LLMぎこれらすずãĻぎčĒ˛éĄŒã§ã€ãŠã†ã™ã‚Œã°LLMを攚善できぞすか? いくつかぎã‚Ēãƒ—ã‚ˇãƒ§ãƒŗãŒã‚ã‚Šãžã™ã€‚ æ—ĸ存ぎãƒĸデãƒĢをäŊŋį”¨ã—ãĻ垎čĒŋ整することもできぞすが、それは大変ãĒ労力です。 そしãĻ、多くぎ場合、ã‚ĸã‚Ļトプットとįĩæžœã¯ã€å°‘ãĒくともä슿—Ĩã§ã¯ã€ã‚ˇã‚šãƒ†ãƒ ãƒĸデãƒĢãĢ取りå…ĨれãĻ垎čĒŋ整したいもぎではありぞせん。 LLMã¨čŠąã™ã¨ããĢ、いくつかぎ䞋を提䞛できぞす。 しかし、åŸēæœŦįš„ãĢはこれらぎ䞋をハãƒŧãƒ‰ã‚ŗãƒŧãƒ‡ã‚Ŗãƒŗã‚°ã™ã‚‹åŋ…čĻãŒã‚ã‚Šã€ã‚ãžã‚ŠåŊšãĢįĢ‹ãĄãžã›ã‚“ã€‚ そしãĻ、グナã‚Ļãƒŗãƒ‡ã‚Ŗãƒŗã‚°ã‚„æ¤œį´ĸãŽčŖœåŧˇãĢついãĻですが、これはåŸēæœŦįš„ãĢ、ãƒĻãƒŧã‚ļãƒŧぎčŗĒ問ãĢį­”ãˆã‚‹ãŸã‚ãĢLLMがäŊŋį”¨ã™ãšãæƒ…å ąã‚’LLMãĢ提䞛することです。 そしãĻ、čĻį´„ãŽč¨€čĒžã‚šã‚­ãƒĢをäŊŋãŖãĻそこãĢãŸãŠã‚Šį€ããŽã§ã™ã€‚ しかし、äģŠã¯é–‹į™ē者ãĢã¨ãŖãĻæœŦåŊ“ãĢč‰¯ã„æŠŸäŧšãŒã‚りぞす。

ᛏäē’ äŊœį”¨

į§ãŸãĄãŒäģŠį”ŸããĻã„ã‚‹ã“ãŽä¸–į•Œã§æœ€ã‚‚ã‚¨ã‚­ã‚ĩã‚¤ãƒ†ã‚Ŗãƒŗã‚°ãĒことぎ1つは、これらぎ非常ãĢåŧˇåŠ›ãĒ抟æĸ°å­Ļįŋ’ãƒĸデãƒĢã¨å¯žčŠąã™ã‚‹ãŸã‚ãĢデãƒŧã‚ŋã‚ĩã‚¤ã‚¨ãƒŗãƒ†ã‚Ŗã‚šãƒˆã§ã‚ã‚‹åŋ…čĻãŒãĒいことです。 äēē々がäŊŋãŖãĻいるä¸ģãĒもぎぎ多くは、APIぎすぐ垌ろãĢありぞす。 つぞり、OpenAI は API ãŽčƒŒåžŒãĢあり、Anthropic は API ãŽčƒŒåžŒãĢいるため、非常ãĢį°Ąå˜ãĢ操äŊœã§ããžã™ã€‚ ぞた、äģŠå›žäŊŋį”¨ã™ã‚‹ Ollama ぎようãĒ非常ãĢエキã‚ĩã‚¤ãƒ†ã‚Ŗãƒŗã‚°ãĒãƒ‘ãƒƒã‚ąãƒŧジもありぞすが、これらはロãƒŧã‚ĢãƒĢでポトされるãƒĸデãƒĢですが、非常ãĢã†ãžããƒãƒŗãƒ‰ãƒĢされãĻいぞす。 ãƒĸデãƒĢをトãƒŦãƒŧãƒ‹ãƒŗã‚°ã™ã‚‹åŋ…čĻãŒãĒくãĒりぞした。あãĒãŸã¯ãã‚Œã‚’åŽŸčĄŒã—ã€ãã‚Œã‚’æäž›ã™ã‚‹åŋ…čĻãŒã‚ã‚Šãžã™ã€‚ そしãĻ、Ollama はそれをæœŦåŊ“ãĢį°Ąå˜ãĢしぞす。 ですから、こぎようãĒ大čĻæ¨Ąč¨€čĒžãƒĸデãƒĢをčĒ°ãŒäŊŋえるかという民ä¸ģåŒ–ãŒé€˛ã‚“ã§ã„ãžã™ã€‚

やるずきこともありぞす。 äŊ•ã‚‚æŽ‹ãŖãĻいãĒい厌成したプロジェクトではãĒく、ãŋんãĒで夕æ—ĨãĢå‘ã‹ãŖãĻå‡ēčˆĒするだけです。 ã“ã‚Œã‚‰ãŽč¨€čĒžãƒĸデãƒĢをäŊŋį”¨ã™ã‚‹ãĢは、多くぎäŊœæĨ­ã‚’čĄŒã†åŋ…čĻãŒã‚ã‚Šãžã™ã€‚ ã¤ãžã‚Šã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã¯ãžãŖãŸãæ–°ã—ã„į¨ŽéĄžãŽčĻåž‹ãŒå‡ēįžã—ãŸãŽã§ã™ã€‚ ã“ã‚Œã‚‰ãŽč¨€čĒžãƒĸデãƒĢでは、通常、テキ゚トをå…ĨåŠ›ãŠã‚ˆãŗå‡ē力テキ゚トとしãĻ受け取りぞす。 ぞた、å‡ē力テキ゚トは、多くぎ場合、ãƒĻãƒŧã‚ļãƒŧへぎåŋœį­”か、下æĩã§äŊ•ã‹ã‚’čĄŒã†æ–šæŗ•ã‚’į¤ēすもぎです。 そぎため、最遊ãĒįĩæžœãŒåž—られるようãĒå‡ē力テキ゚トを取垗できることが非常ãĢ重čĻã§ã™ã€‚ ããŽãŸã‚ãŽæ–šæŗ•ã¯ã€č¨€čĒžãƒĸデãƒĢãĢæ¸Ąã™æ–‡å­—åˆ—ã‚’æ…Žé‡ãĢæ§‹į¯‰ã™ã‚‹ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã‚’äŊŋį”¨ã™ã‚‹ã“ã¨ã§ã™ã€‚

ãƒ—ãƒ­ãƒŗãƒ—ãƒˆäģĨå¤–ãŽã‚‚ãŽã‚‚č¨€čĒžãƒĸデãƒĢãĢåŊąéŸŋしぞす。 これらぎãƒĸデãƒĢãĢは渊åēĻぎようãĒもぎがあり、反åŋœãŽãƒŠãƒŗãƒ€ãƒ æ€§ãĢåŊąéŸŋを与えぞす。 ぞた、æœŦåŊ“ãĢįĸēåŽšįš„ãĒå‡ē力がåŋ…čρãĒ場合、ぞたはæąē厚čĢ–įš„ãĒå‡ē力ãĢかãĒりčŋ‘い場合は、渊åēĻを非常ãĢäŊŽãč¨­åŽšã§ããžã™ã€‚ よりクãƒĒã‚¨ã‚¤ãƒ†ã‚Ŗãƒ–ã§å¯å¤‰įš„ãĒåŋœį­”がåŋ…čρãĒ場合は、非常ãĢéĢ˜ãč¨­åŽšã—ãžã™ã€‚ そしãĻ、常ãĢæ­Ŗã—ã„äēēはいぞせん。 これらは、さぞざぞãĒã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãĢåŊšįĢ‹ãĄãžã™ã€‚ ですから、世ぎ中ãĢは、おそらくかãĒりéĢ˜ã„æ¸ŠåēĻã‚’æŒãŖãĻいるもぎがあるでしょう。 į‰šåŽšãŽã“ã¨ã‚’æœŦåŊ“ãĢã†ãžãã‚„ã‚ŠãŸã„ã¨æ€ãŖãĻいるパãƒŧã‚ŊナãƒĢã‚ĸã‚ˇã‚šã‚ŋãƒŗãƒˆãŽä¸­ãĢは、äŊ“渊がäŊŽã„äēēもいぞす。 そぎため、これらぎãƒĸデãƒĢを最大限ãĢæ´ģį”¨ã™ã‚‹ãŸã‚ãĢ、開į™ēč€…ãŒå­Ļįŋ’し、エキ゚パãƒŧトãĢãĒã‚‹ã“ã¨ãŒã§ãã‚‹å¤šããŽæ‰‹æŗ•ã¨ãƒˆãƒĒã‚Ŧãƒŧがありぞす。

ãžãŸã€č¨€čĒžãƒĸデãƒĢぎå‡ē力をäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĒもぎもすずãĻありぞす。 そこで、LangChainぎå‡ēį•Ēです。 ã‚ĸイデã‚ĸは、å‡ē力がテキ゚トである可čƒŊ性がありぞすが、多くぎ場合、単ãĒã‚‹ãƒ†ã‚­ã‚šãƒˆã‚ˆã‚Šã‚‚å¤šããŽæ§‹é€ ã‚’æŒãŖãĻいぞす。 ããŽãŸã‚ã€č§Ŗæžã—ãĻå‡Ļį†ã—ã€API へぎå…Ĩ力としãĻäŊŋį”¨ã—ãŸã‚Šã€SQL ã‚ŗãƒžãƒŗãƒ‰ã‚’åŽŸčĄŒã—ãŸã‚Šã§ãã‚‹ã‚ˆã†ãĢã€æ­Ŗã—ã„æ–šæŗ•ã§æ§‹é€ åŒ–ã•ã‚ŒãĻいることをįĸēčĒã™ã‚‹åŋ…čĻãŒã‚ã‚Šãžã™ã€‚ ããŽãŸã‚ã€ã“ã‚Œã‚‰ãŽč¨€čĒžãƒĸデãƒĢをäģ–ぎデãƒŧã‚ŋã‚„č¨ˆįŽ—ã‚Ŋãƒŧ゚ãĢæŽĨįļšã™ã‚‹ãĢは、多くぎäŊœæĨ­ãŒåŋ…čĻã§ã™ã€‚

前ãĢã‚‚ãŠčŠąã—ã—ãŸã‚ˆã†ãĢã€ãƒ•ã‚Ąãƒŗãƒ‡ãƒŧã‚ˇãƒ§ãƒŗãƒĸデãƒĢãĢã¯å¤šį¨Žå¤šæ§˜ãĒもぎがあると思いぞす。 ä¸ģčρãĒクナã‚ĻドプロバイダãƒŧãŒã“ãžãŖãĻ参å…ĨしãĻいぞす。 OlamaぎようãĒロãƒŧã‚ĢãƒĢãƒĸデãƒĢがあり、čĒ°ã§ã‚‚č‡Ēåˆ†ãŽã‚ŗãƒŗãƒ”ãƒĨãƒŧã‚ŋã§åŽŸčĄŒã§ããžã™ã€‚ ぞた、OpenAIやAnthropicぎようãĒAIãƒã‚¤ãƒ†ã‚Ŗãƒ–ãŽã‚šã‚ŋãƒŧトã‚ĸップもあり、多くぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽãƒ™ãƒŧ゚ãƒŦイヤãƒŧぎようãĒもぎです。 さらãĢ上ぎãƒŦベãƒĢãĢは、LangChain、LlamaIndex、HumanLoopãĒおぎã‚Ēãƒŧã‚ąã‚šãƒˆãƒŦãƒŧã‚ˇãƒ§ãƒŗãƒ•ãƒŦãƒŧムワãƒŧã‚¯ãŒã‚ã‚Šã€å¤šããŽč¨€čĒžãƒĸデãƒĢをčĒŋ整し、それらをäģ–ぎデãƒŧã‚ŋã‚„č¨ˆįŽ—ã‚Ŋãƒŧ゚ãĢæŽĨįļšã™ã‚‹ãŽãĢåŊšįĢ‹ãĄãžã™ã€‚ そしãĻ、それがRAGã‚ĸプãƒĒでおぎようãĢčĻ‹ãˆã‚‹ã‹ã‚’čŠŗã—ãčĒŦ明しぞす。

そうすれば、これらすずãĻをįļ˛įž…ã™ã‚‹ã‚¤ãƒŗãƒ•ãƒŠãŒã§ãã‚ãŒã‚Šãžã™ã€‚ ãƒ‡ãƒ—ãƒ­ã‚¤ã€į›ŖčĻ–ã€čŠ•äžĄã€ãƒ„ãƒŧãƒĢがありぞす。 そぎ多くはã‚Ŋフトã‚Ļェã‚ĸã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸãƒĒãƒŗã‚°ã¨äŧŧãĻいぞすが、LLMå›ē有ぎツãƒŧãƒĢãĢもいくつかぎ違いがありぞす。 äģŠå›žį´šäģ‹ã—たLangSmithはそぎ一䞋ですが、APIãƒŦã‚šãƒãƒŗã‚šãŽį›ŖčĻ–ãĢé‡į‚šã‚’įŊŽã„たもぎはäģ–ãĢもたくさんありぞす。 中ãĢは、MLぎ側éĸãĢé‡į‚šã‚’įŊŽãã€äēē々が原際ãĢãƒãƒŖãƒƒãƒˆãƒœãƒƒãƒˆã‚’äŊ•ãĢäŊŋãŖãĻいるぎかを掘り下げるぎãĢåŊšįĢ‹ã¤ã‚‚ãŽã‚‚ã‚ã‚Šãžã™ã€‚ ã“ãŽã‚¤ãƒŗãƒ•ãƒŠã‚šãƒˆãƒŠã‚¯ãƒãƒŖãŽã‚ĢテゴãƒĒでは、多くぎ新しいツãƒŧãƒĢがį™ģ場しãĻいぞす。

そしãĻ、MichaelãŒč¨€ãŖãŸã‚ˆã†ãĢ、æœŦåŊ“ãĢč‰¯ã„ååŋœã‚’垗るためãĢは、一čˆŦįš„ãĢ、æŽĨįļšã•れ、ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽåŽŸéš›ãŽäē‹åŽŸã‚’æ”¯ãˆãĻã„ã‚‹ã‚ã‚‹į¨ŽãŽãƒ‡ãƒŧã‚ŋベãƒŧ゚がåŋ…čĻã§ã™ã€‚ そぎため、ベクトãƒĢ検į´ĸとベクトãƒĢデãƒŧã‚ŋベãƒŧã‚šã¯ã€č¨€čĒžãƒĸデãƒĢãĢæŽĨįļšã™ã‚‹ãŽãĢ非常ãĢåŧˇåŠ›ã§ã‚ã‚‹ã“ã¨ãŒč¨ŧ明されãĻいるこぎ新しいåŊĸåŧã¨ã—ãĻį™ģ場しぞしたが、SQLやグナフデãƒŧã‚ŋベãƒŧ゚ãĒおぎæ—ĸ存ぎデãƒŧã‚ŋベãƒŧ゚もすずãĻå­˜åœ¨ã—ã€ã“ãŽã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆã‚’æäž›ã™ã‚‹ãŸã‚ãĢåŧ•きįļšãäŊŋį”¨ã§ããžã™ã€‚

ã§ã™ã‹ã‚‰ã€ã“ã‚Œã‚’ã‚‚ã†å°‘ã—į´°ã‹ã„å†™įœŸã§čĻ‹ã‚‹ã¨ã€ã“ã‚Œã¯A16 Zからぎもぎであることがわかりぞす。数ãƒļæœˆå‰ãŽčŠąã§ã™ã€‚ ããŽéšŖãĢã€Œéƒ¨åˆ†įš„ã€ã¨æ›¸ã‹ã‚ŒãĻいるぎは、įŠē間がæœŦåŊ“ãĢ、æœŦåŊ“ãĢ速く変化するからです。 こぎã‚Ēãƒŧã‚ąã‚šãƒˆãƒŦãƒŧã‚ˇãƒ§ãƒŗãƒŦイヤãƒŧãŒįœŸã‚“ä¸­ãĢあり、そこãĢLangChainがあることがわかりぞす。 しかし、そぎ周りãĢはäģ–ãĢもたくさんぎäŊœå“ãŒã‚りぞす。 プãƒŦイグナã‚Ļãƒŗãƒ‰ã€APIã€ãƒ—ãƒŠã‚°ã‚¤ãƒŗãŒã‚ã‚Šãžã™ã€‚ トップãƒŦベãƒĢã§ã¯ã€ã‚ŗãƒŗãƒ†ã‚¯ã‚šãƒãƒĨã‚ĸãƒĢデãƒŧã‚ŋぎようãĒもぎがあり、デãƒŧã‚ŋãƒ‘ã‚¤ãƒ—ãƒŠã‚¤ãƒŗã‚„ãƒ™ãƒƒãƒ†ã‚Ŗãƒŗã‚°ãƒĸデãƒĢ、ベクã‚ŋãƒŧデãƒŧã‚ŋベãƒŧ゚ãĒおがありぞす。 そしãĻ、もしä슿—Ĩãã‚Œã‚’æ‹ĄåŧĩするãĒら、グナフデãƒŧã‚ŋベãƒŧ゚やSQLãĒお、äģ–ぎデãƒŧã‚ŋベãƒŧ゚もそこãĢįŊŽã„ãĻおくでしょう。 æŦĄãĢ、LLMã‚­ãƒŖãƒƒã‚ˇãƒĨã€ãƒ­ã‚Žãƒŗã‚°ã€LLMé‹į”¨ã€æ¤œč¨ŧをåĢむすずãĻãŽã‚¤ãƒŗãƒ•ãƒŠã‚šãƒˆãƒŠã‚¯ãƒãƒŖãŒä¸‹éƒ¨ãĢありぞす。 さらãĢã‚ēãƒŧãƒ ã‚¤ãƒŗã™ã‚‹ã“ã¨ã‚‚ã§ããžã™ã€‚ そしãĻ、ついãĢã‚ĸプãƒĒãŽãƒ›ã‚šãƒ†ã‚Ŗãƒŗã‚°ãĢãŸãŠã‚Šį€ããžã™ã€‚

ã“ã“ã§į´šäģ‹ã™ã‚‹å†…åŽšãŽå¤šãã¯ã€čĄ¨éĸįš„ãĢは非常ãĢå˜į´”ãĒã‚ĸプãƒĒぎようãĢčĻ‹ãˆãžã™ãŒã€ã‚ŗãƒŧドと、これらぎさぞざぞãĒã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŽčˆžå°čŖã‚’å¤šæ•°į´šäģ‹ã—ぞす。 GenAI゚ã‚ŋãƒƒã‚¯ãŽäžĄå€¤ææĄˆãŽä¸€éƒ¨ã¯ã€ã“ã‚Œã‚’å°‘ã—å˜į´”åŒ–ã—ã€éžå¸¸ãĢį°Ąå˜ãĢäŊŋã„å§‹ã‚ã‚‹æ–šæŗ•ã‚’æäž›ã™ã‚‹ã“ã¨ã§ã™ã€‚

ãƒŠãƒŗã‚°ãƒã‚§ãƒŧãƒŗ

ここぞで、LangChainãĢついãĻå°‘ã—ãŠčŠąã—ã—ãĻきぞした。 もう少し掘り下げると、LangChainはGenAIã‚Ēãƒŧã‚ąã‚šãƒˆãƒŦãƒŧã‚ˇãƒ§ãƒŗãƒ•ãƒŦãƒŧムワãƒŧクです。 ここãĢ襨į¤ēされるこれらすずãĻãŽį•°ãĒるãƒĸジãƒĨãƒŧãƒĢãĢæŽĨįļšã—ぞす。 ツãƒŧãƒĢ、ã‚ĩãƒŗãƒ—ãƒĢã‚ģãƒŦクã‚ŋã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã€ãƒ™ã‚¯ã‚ŋãƒŧ゚トã‚ĸ、ドキãƒĨãƒĄãƒŗãƒˆãƒ­ãƒŧダãƒŧ、ã‚Ēãƒŧãƒ—ãƒŗãƒ‘ãƒŧã‚ĩãƒŧ、テキ゚ト、゚プãƒĒッã‚ŋãƒŧ、ãƒĸデãƒĢ、おそらくここではč§ĻれãĻいãĒいäģ–ぎもぎも。 これらはすずãĻLangChainãŽį•°ãĒるãƒĸジãƒĨãƒŧãƒĢです。 ぞた、ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã¯é€šå¸¸ã€ã•ãžã–ãžãĒæ–šæŗ•ã§æ§‹į¯‰ã•ã‚ŒãŸ4つ、5つ、ぞたは6ã¤ãŽį•°ãĒるãƒĸジãƒĨãƒŧãƒĢで構成されãĻいぞす。 そぎため、これらすずãĻぎãƒĸジãƒĨãƒŧãƒĢãĢä¸€į¨ŽãŽæ¨™æē–ã‚¤ãƒŗã‚ŋãƒŧフェイ゚を提䞛しãĻいぞす。

50äģĨä¸ŠãŽį•°ãĒるLLMプロバイダãƒŧぎ標æē–ã‚¤ãƒŗã‚ŋãƒŧフェãƒŧ゚がありぞす。そしãĻ、これらぎãƒĸジãƒĨãƒŧãƒĢぎいくつかをč‡Ēåˆ†ãŸãĄã§åŽŸčŖ…ã—ãĻいぞす。 䞋えば、テキ゚ト゚プãƒĒッã‚ŋãƒŧは、LangChainãĢã‚ã‚‹åŽŸčŖ…ãŽ1つで、LangChainãŽãƒã‚¤ãƒ†ã‚Ŗãƒ–ãŽã‚ˆã†ãĒもぎです。 LangChainãŽã‚‚ã†ä¸€ã¤ãŽäžĄå€¤ææĄˆã¯ã€æ§‹į¯‰æ¸ˆãŋぎチェãƒŧãƒŗã¨ã‚¨ãƒŧã‚¸ã‚§ãƒŗãƒˆã§ã™ã€‚ 前čŋ°ã—たようãĢ、これらぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽå¤šãã¯ã€į‰šåŽšãŽæ–šæŗ•ã§æ§‹į¯‰ã•ã‚ŒãŸãƒĸジãƒĨãƒŧãƒĢです。 æ—ĸčŖŊぎチェãƒŧãƒŗã‚„ã‚¨ãƒŧã‚¸ã‚§ãƒŗãƒˆã¯ã€åŸēæœŦįš„ãĢさぞざぞãĒã‚ŋã‚šã‚¯ã‚’åŽŸčĄŒã™ã‚‹ãŸã‚ãŽäē‹å‰æ§‹į¯‰æ¸ˆãŋãŽãƒ†ãƒŗãƒ—ãƒŦãƒŧトです。 そしãĻ、ä슿—Ĩã¯ããŽã†ãĄãŽ1つをäŊŋį”¨ã—ãĻ、ã‚Ŋãƒŧ゚チェãƒŧãƒŗãŽæ¤œį´ĸ、QAã‚’čĄŒã„ã€čˆžå°čŖã§äŊ•がčĩˇã“ãŖãĻいるぎかを掘り下げることができぞす。 į§ã¯ãã‚Œã‚’ãƒžã‚¤ã‚ąãƒĢãĢčŋ”しãĻ、RAGãĢついãĻã‚‚ãŖã¨čŠąã™ã¤ã‚‚ã‚Šã§ã™ã€‚

čĨ¤č¤¸

RAGはä슿—Ĩ大æĩčĄŒã—ãĻいぞす。 前čŋ°ã—たようãĢ、デãƒŧã‚ŋベãƒŧ゚やデãƒŧã‚ŋ ã‚Ŋãƒŧã‚šã‹ã‚‰č¨€čĒžãƒĸデãƒĢã¸ãŽæƒ…å ąãŽãƒãƒƒã‚­ãƒŗã‚°ã‚„ãƒ•ã‚Ŗãƒŧドは、åŊšãĢįĢ‹ãĄãžã™ã€‚ これは、åšģčĻšã‚„įŸĨč­˜ãŽã‚ˆã†ãĒもぎãĢã‚ĸプロãƒŧãƒã™ã‚‹ãŸã‚ãŽįžåœ¨ãŽæœ€č‰¯ãŽæ–šæŗ•ã§ã™ã€‚ RAGは、Retrieval Augmented GenerationãŽé ­æ–‡å­—ã‚’ã¨ãŖãŸã‚‚ãŽã§ã™ã€‚ 2嚴前か1åš´å‰ã‹ã¯ã‚ã‹ã‚Šãžã›ã‚“ãŒã€į§ãĢã¨ãŖãĻは半嚴前かはわかりぞせんが、åŊŧらがこれをæŽĸæą‚ã—ãŸčĢ–æ–‡ãŒã‚ã‚Šã€äēēã€…ãŒããŽäžĄå€¤ã‚’čĒã‚ãŸãŽã§ã€ã“ã‚Œã¯æœŦåŊ“ãĢåŽšį€ã—ãžã—ãŸã€‚ そしãĻ、åŸēæœŦįš„ãĢはLLMぎトãƒŦãƒŧãƒ‹ãƒŗã‚°ãƒ‡ãƒŧã‚ŋã‚’į„ĄčĻ–ã—ã€č¨€čĒžã‚šã‚­ãƒĢだけをäŊŋうぎです。 ãƒĻãƒŧã‚ļãƒŧぎčŗĒ問を受けäģ˜ã‘ぞす。 ãƒĻãƒŧã‚ļãƒŧぎčŗĒ問をベクトãƒĢ埋めčžŧãŋぞたはデãƒŧã‚ŋベãƒŧ゚クエãƒĒãĢ変換し、デãƒŧã‚ŋベãƒŧ゚ぞたはデãƒŧã‚ŋã‚Ŋãƒŧ゚ãĢ送äŋĄã—ぞす。 ã‚‚ãĄã‚ã‚“ã€ã“ãŽčŗĒ問ãĢé–ĸé€Ŗã™ã‚‹æƒ…å ąã‚’æŠŊå‡ēしぞすが、デãƒŧã‚ŋベãƒŧ゚内ぎすずãĻãŽæƒ…å ąã‚’æŠŊå‡ēするわけではありぞせん。 しかし、こぎčŗĒ問ãĢé–ĸé€Ŗã™ã‚‹æƒ…å ąã€‚ そしãĻã€ã“ãŽæƒ…å ąã‚’åĢむčŗĒ問をLLMãĢ送äŋĄã—ãĻ、そぎäēēãŽå›žį­”ã‚’äŊœæˆã—ぞす。 これは、こぎパã‚ŋãƒŧãƒŗã§ã‚‚čĻ‹ã‚‰ã‚Œã‚‹ã‚ĸプロãƒŧãƒãŽä¸€į¨Žã§ã™ã€‚

場合ãĢã‚ˆãŖãĻã¯ã€æƒ…å ąã‚’å–åž—ã™ã‚‹ãŸã‚ãĢデãƒŧã‚ŋベãƒŧ゚ãĢã‚ĸクã‚ģ゚するåŋ…čĻãŒã‚ã‚‹ã‹ãŠã†ã‹ã‚’æąē厚することもできぞす。 䞋えば、クãƒĒã‚¨ã‚¤ãƒ†ã‚Ŗãƒ–ãĒäģ•äē‹ãŒã‚ã‚‹ãĒら、æŦĄãŽãƒ—ロジェクトぎã‚ĸイデã‚ĸをå‡ēしãĻくれとか。 クãƒĒã‚¨ã‚¤ãƒ†ã‚Ŗãƒ–ãĒã‚ŋ゚クぎ場合は、LLMãĢį›´æŽĨã‚ĸクã‚ģ゚することもできぞすが、原際ãĢ内部デãƒŧã‚ŋãĢã‚ĸクã‚ģ゚したい場合は、デãƒŧã‚ŋベãƒŧ゚ãĢã‚ĸクã‚ģ゚しãĻã“ã‚Œã‚’čĄŒã„ãžã™ã€‚

ä슿œãŽåŸēčĒŋčŦ›æŧ”でもおčĻ‹ã›ã—ãŸã‚ˆã†ãĢ、äģŠå›žãŠčŠąã—ã—ãŸã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã ã‘ã§ãĒく、すでãĢ゚ã‚ŋックãĢįĩ„ãŋčžŧぞれãĻいるã‚ĩãƒŗãƒ—ãƒĢã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚‚å¤šæ•°ã‚ã‚Šãžã™ã€‚ į§ãŸãĄã¯ã•ã‚‰ãĢčŋŊåŠ ã™ã‚‹ã¤ã‚‚ã‚Šã§ã™ã—ã€ã‚‚ãĄã‚ã‚“ã€įš†ã•ã‚“ã‹ã‚‰ãŽãƒ•ã‚ŖãƒŧドバックãĢã‚‚čˆˆå‘ŗãŒã‚ã‚Šãžã™ã€‚ そぎため、ã‚ĸイデã‚ĸやčŗĒ問がある場合は、GitHub ãŽã‚¤ã‚ˇãƒĨãƒŧを開くか、ãƒĒポジトãƒĒãĢプãƒĢãƒĒクエ゚トを送äŋĄã—ãĻください。

そこãĢある最初ぎã‚ĸプãƒĒは、åŸēæœŦįš„ãĢAPIからデãƒŧã‚ŋを取垗し、デãƒŧã‚ŋデãƒŧã‚ŋベãƒŧ゚をäŊœæˆã—、ベクトãƒĢã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šãĢ埋めčžŧãŋぎ埋めčžŧãŋã‚Ŋãƒŧã‚šã‚’į”Ÿæˆã™ã‚‹ãƒŠãƒŦãƒƒã‚¸ã‚°ãƒŠãƒ•ãŽã‚¤ãƒŗãƒãƒŧトです。 そしãĻ、äģ–ぎã‚ĸプãƒĒがそれをäŊŋį”¨ã§ãã‚‹ã‚ˆã†ãĢしぞす。

ä슿œį´šäģ‹ã—た2ã¤į›Žã¯ã€LLMã¨į›´æŽĨやり取りしたり、デãƒŧã‚ŋベãƒŧ゚でRAGをäŊŋį”¨ã—ãŸã‚Šã§ãã‚‹ãƒãƒŖãƒƒãƒˆãƒœãƒƒãƒˆã§ã™ã€‚ ぞた、こぎčŗĒ問ãĢį­”ãˆã‚‹ãŸã‚ãŽæƒ…å ąãŒãƒŠãƒŦッジベãƒŧ゚ãĢãĒい場合は、ナãƒŦッジベãƒŧ゚でåŸēæœŦįš„ãĢ上äŊãžãŸã¯æœ€ã‚‚čŠ•äžĄãŽéĢ˜ã„čŗĒ問を選択しãĻã€į¤žå†…ã‚ĩポãƒŧトチãƒŧムがこぎčŗĒ問ãĢį­”ãˆã‚‹ãŸã‚ãŽæ–°ã—ã„ãƒã‚ąãƒƒãƒˆã‚’į”Ÿæˆã§ããžã™ã‹? そぎため、ãƒĻãƒŧã‚ļãƒŧぎčŗĒ問からぎすずãĻぎå…Ĩ力ãĢ加えãĻ、ナãƒŦッジベãƒŧã‚šã§æœ€ã‚‚čŠ•äžĄãŽéĢ˜ã„čŗĒå•ãžãŸã¯æœ€ã‚‚čŠ•äžĄãŽéĢ˜ã„čŗĒ問ぎトãƒŧãƒŗã¨ã‚šã‚ŋイãƒĢとã‚ŋイプを受け取り、同じトãƒŧãƒŗã¨ã‚šã‚ŋイãƒĢで新しいčŗĒå•ã‚’į”Ÿæˆã—ãžã™ã€‚

æŦĄãĢ、そこãĢある4į•Ēį›ŽãŽã‚ĸプãƒĒは、åŸēæœŦįš„ãĢPDFã¸ãŽãƒãƒŖãƒƒãƒˆã§ã™ã€‚ PDFをã‚ĸップロãƒŧãƒ‰ã™ã‚‹ã¨ã€ãƒãƒŖãƒŗã‚¯ã‚„ãƒ™ã‚¯ã‚ŋãƒŧãĢ変換され、チェãƒŧãƒŗã¨UIをäŊŋį”¨ã—ãĻ゚トãƒĒãƒŧãƒŸãƒŗã‚°ã—ã€PDFã¨ãƒãƒŖãƒƒãƒˆã—ãŸã‚Šã€ã“ãŽPDFãĢついãĻčŗĒ問したりできぞす。 これは、デãƒŧã‚ŋベãƒŧ゚ではãĒいドキãƒĨãƒĄãƒŗãƒˆã‚’ã‚ĸクã‚ģã‚ˇãƒ–ãƒĢãĢã™ã‚‹æ–šæŗ•ãŽä¸€čˆŦįš„ãĒ䞋でもありぞす。 そしãĻã€įš°ã‚Ščŋ”しãĢãĒりぞすが、すでãĢäŊ•åēĻã‹č¨€åŠã—ãŸã‚ˆã†ãĢ、GenAI゚ã‚ŋックぎビãƒĢãƒ‡ã‚Ŗãƒŗã‚°ãƒ–ãƒ­ãƒƒã‚¯ã§ã™ã€‚ そしãĻ、そぎすずãĻがDocker ComposeãĢã‚ˆãŖãĻぞとめられãĻいぞす。

Ollama ãĢã¯ãžãŖãŸãæ–°ã—ã„ãƒ™ãƒŧã‚šã‚¤ãƒĄãƒŧã‚¸ãŒã‚ã‚Šã€į‰šãĢ Linux もそぎぞぞ動äŊœã—ぞす。 LangChainベãƒŧã‚šãŽã‚¤ãƒĄãƒŧã‚¸ã¯ãŠãĄã‚‰ã‚‚å…Ŧåŧã‚¤ãƒĄãƒŧジであり、かãĒり前から存在しãĻいたNeo4jぎå…Ŧåŧã‚¤ãƒĄãƒŧジは、Docker Composeã‚ģットã‚ĸップãĢã‚ˆãŖãĻすずãĻぞとめられãĻおり、åŸēæœŦįš„ãĢは、äŊŋį”¨ã™ã‚‹ãƒĸデãƒĢã€é•ˇã•ãĒお、すずãĻãŽį’°åĸƒå¤‰æ•°ã‚’ã‚Ēãƒŧã‚ąã‚šãƒˆãƒŦãƒŧã‚ˇãƒ§ãƒŗãŠã‚ˆãŗæ§‹æˆã—ãžã™ã€‚ たとえば、æŽĨįƒ…å ąã‚„ã€ãŠãŽã‚ˆã†ãĒå†…éƒ¨æƒ…å ąã‚‚å…ĨれたいかãĒおです。

つぞり、ã‚ĸプãƒĒぎフロãƒŧをčĻ‹ã‚‹ã¨ã€ã‚ŗãƒŗãƒ†ãƒŠã§čŠąã—ãŸå†…åŽšã¨äŧŧãĻいぞすよね? ですから、åŸēæœŦįš„ãĢは Streamlit ã‚ĸプãƒĒでãƒĻãƒŧã‚ļãƒŧぎčŗĒ問ãĢį­”ãˆã‚‹ã“ã¨ãĢãĒりぞす — Python 開į™ē者ãĢã¨ãŖãĻ、それがプロトã‚ŋイプ UI ãĢåˆ°é”ã™ã‚‹ãŸã‚ãŽæœ€č‰¯ãŽæ–šæŗ•ãžãŸã¯æœ€é€ŸãŽæ–šæŗ•ã§ã‚ã‚‹ãŸã‚ã€įžåœ¨ UI フãƒŦãƒŧムワãƒŧクとしãĻ Streamlit をäŊŋį”¨ã—ãĻいぞす。 API と JavaScript ãŽãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã¯åŋ…čĻã‚ã‚Šãžã›ã‚“ãŒã€åŸēæœŦįš„ãĢは Python ã‚’į›´æŽĨäŊŋį”¨ã—ãĻã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’åŽŸčĄŒã§ããžã™ã€‚ そこで、ãƒĻãƒŧã‚ļãƒŧぎčŗĒ問を受けãĻ、埋めčžŧãŋãƒĸデãƒĢãĢį§ģ動しãĻ、ãƒĻãƒŧã‚ļãƒŧぎčŗĒ問ぎベクトãƒĢ埋めčžŧãŋã‚’į”Ÿæˆã—ãžã™ã€‚ たとえば、文変換器だけでãĒく、ナマ 2、ãĒおもäŊŋį”¨ã§ããžã™ã€‚ 埋めčžŧãŋを取垗し、デãƒŧã‚ŋベãƒŧ゚内ぎデãƒŧã‚ŋベクトãƒĢ検į´ĸãĢį§ģ動し、ベクトãƒĢ検į´ĸã‚’čĄŒã„ã€ã‚°ãƒŠãƒ•ãƒ‡ãƒŧã‚ŋベãƒŧ゚であるため、ベクトãƒĢ検į´ĸから上äŊK個ぎčĻį´ ã‚’å–åž—ã—ã€ã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆã‚’æ‹Ąåŧĩしぞす。

それで、こぎčŗĒ問ãĢäģ–ãĢäŊ•がé–ĸé€Ŗã—ãĻいぞすよね? æœ€ã‚‚čŠ•äžĄãŽéĢ˜ã„å›žį­”ã¯äŊ•ですか、ã‚ŋグãĒおを通じãĻこれãĢé–ĸé€Ŗã™ã‚‹äģ–ぎčŗĒ問はäŊ•ですか? æŦĄãĢã€ã“ãŽæƒ…å ąã‚’å–åž—ã—ã€LangChainをäģ‹ã—ãĻãƒãƒŖãƒƒãƒˆãƒĸデãƒĢ(埋めčžŧãŋãƒĸデãƒĢã¨ã¯į•°ãĒるãƒĸデãƒĢ)ãĢ送äŋĄã—ã€å›žį­”ã‚’čŋ”し、ã‚ĸプãƒĒãĢãƒŦãƒŗãƒ€ãƒĒãƒŗã‚°ã—ãžã™ã€‚ それでは、デãƒĸをčĻ‹ã›ãĻã€į§ãŒå§‹ã‚ãĻ、Harrisonが2į•Ēį›ŽãŽéƒ¨åˆ†ã‚’čĻ‹ãĻいきぞす。

デãƒĸ

ä슿œãŠčĻ‹ã›ã—ãŸã‚ˆã†ãĢ、åŸēæœŦįš„ãĢは「docker compose upã€ã‚’åŽŸčĄŒã§ããžã™ã€‚ ぞた、ここでå‡Ļį†ã‚’čĄŒãŖãĻいる間、äŊœæˆãƒ•ã‚Ąã‚¤ãƒĢをįĸēčĒã™ã‚‹ã“ã¨ã‚‚ã§ããžã™ã€‚ そぎため、compose ãƒ•ã‚Ąã‚¤ãƒĢãĢã¯å¤šæ•°ãŽã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãŒåĢぞれãĻいぞす。 ロãƒŧã‚ĢãƒĢ LLM ã‚’įŽĄį†ã™ã‚‹ãƒ­ãƒŧã‚ĢãƒĢ Ollama ぎ LLM ã‚¤ãƒĄãƒŧジがありぞす。 åŸēæœŦįš„ãĢ Ollama ãƒŦジ゚トãƒĒã‹ã‚‰ã‚¤ãƒĄãƒŧジをプãƒĢするåˆĨぎプãƒĢ ãƒĸデãƒĢ ã‚¤ãƒĄãƒŧジ。 ã—ãŸãŒãŖãĻ、äŊŋį”¨ã™ã‚‹ãƒĸデãƒĢãĢåŋœã˜ãĻ、こぎãƒĸデãƒĢをプãƒĢしぞす。 これらぎãƒĸデãƒĢはかãĒり大きくãĒる可čƒŊ性があるため、LLMぎようãĒ小さãĒãƒĸデãƒĢは 27 0億ゎã‚Ŧバイト、 4 ゎã‚Ŧバイト、 13 10億ゎã‚Ŧバイトは 10 ゎã‚Ŧバイト、 70 10億は 30 ゎã‚ŦバイトãĒおです。 これは大量ぎデãƒŧã‚ŋですが、Olamaもこれをロãƒŧã‚ĢãƒĢãĢäŋæŒã—ãĻいるため、ãƒĒロãƒŧドするåŋ…čĻã¯ã‚ã‚Šãžã›ã‚“ã€‚ ã—ãŸãŒãŖãĻ、一åēĻプãƒĢã™ã‚‹ã¨ã€ãƒžã‚ˇãƒŗä¸ŠãĢã‚ã‚Šã€ã“ã‚Œã‚’åŽŸčĄŒã§ããžã™ã€‚ æŦĄãĢ、デãƒŧã‚ŋベãƒŧ゚Neo4jがここをチェックし、さぞざぞãĒã‚ĸプãƒĒがありぞす。 つぞり、ロãƒŧダãƒŧがあり、ボットがあり、PDFボットがあり、それはåŸēæœŦįš„ãĢã€ã“ãŽãƒžã‚ˇãƒŗãŽã•ãžã–ãžãĒポãƒŧトをå…Ŧ開しãĻいるį”ģ像です。 そしãĻ、構成はロãƒŧã‚ĢãƒĢį”ģåƒãŽæƒ…å ąã‚’æ¸Ąã™ã‹ã€é–‹ã„ãĻいるAIキãƒŧをå…Ĩ力することもでき、GPT3 ぞたはGPT4 をãƒĸデãƒĢとしãĻäŊŋį”¨ã™ã‚‹ã“ã¨ã‚‚ã§ããžã™ã€‚

ããŽé–“ã€į§ãŸãĄãŽã€Œdocker compose downã€ã¯æˆåŠŸã—ã€į§ãŒå§‹ã‚ã‚‹ã¨ã€ã“ã‚Œã¯åŸēæœŦįš„ãĢLLMãƒĸデãƒĢ、デãƒŧã‚ŋベãƒŧã‚šã€ãŠã‚ˆãŗã‚ĸプãƒĒもプãƒĢã‚ĸップしぞす。 そぎ間、UI でおčĻ‹ã›ã—ãžã™ã€‚ åŸēæœŦįš„ãĢ、ここãĢはロãƒŧダãƒŧãŒã‚ã‚Šã€įžåœ¨åŽŸčĄŒã•ã‚ŒãĻいるはずãĒぎで、åŸēæœŦįš„ãĢã¯ã€čˆˆå‘ŗãŽã‚ã‚‹ Stack Overflow æŠ€čĄ“ã‚’é¸æŠžã§ããžã™ã€‚

たとえば、DockerぎčŗĒ問をデãƒŧã‚ŋベãƒŧ゚ãĢčŋŊ加するとしぞす。 čŗĒ問ぎ最垌ぎįĩ‚äē†ãƒšãƒŧジ(すずãĻぎčŗĒ問、すずãĻãŽå›žį­”ã€ã™ãšãĻぎãƒĻãƒŧã‚ļãƒŧ、すずãĻぎã‚ŋグ)を取垗し、これをベクトãƒĢ埋めčžŧãŋãĢ埋めčžŧんでから取垗しぞす。 そぎため、Stack Overflow で Docker ãĢé–ĸする最垌ぎ 100 つぎčŗĒ問を取垗するãĢã¯ã€į´„ 10 į§’ã‹ã‚‰ 20 į§’ã‹ã‹ã‚Šãžã™ã€‚ã—ãŸãŒãŖãĻ、過åŽģ数æ—Ĩ間ãĢčŗĒ問ãĢã‚‚å›žį­”ã—ãŸå ´åˆã€čŗĒ問はおそらくここãĢありぞす。 そぎため、グナフデãƒŧã‚ŋベãƒŧ゚ãĢčŋŊ加されぞす。 ã“ã‚Œã§ã€ã‚¤ãƒŗãƒãƒŧトが成功したことがわかりぞす。 デãƒŧã‚ŋベãƒŧ゚へぎãƒĒãƒŗã‚¯ã§į›´æŽĨここãĢã‚¸ãƒŖãƒŗãƒ—ã™ã‚‹ã¨ã€čŗĒå•ã€å›žį­”ã€ãƒĻãƒŧã‚ļãƒŧ、ã‚ŋグをåĢむこぎデãƒŧã‚ŋãƒĸデãƒĢãŒčĄ¨į¤ēされぞす。 そしãĻ、デãƒŧã‚ŋベãƒŧ゚ãĢį§ģ動すると、こぎデãƒŧã‚ŋをæŽĸį´ĸã—ã€ãƒŠãƒ“ã‚˛ãƒŧトできぞす。 į´Ģč‰˛ãŽčŗĒå•ã€é’č‰˛ãŽčŗĒå•ãŒå›žį­”ã€ã‚ĒãƒŦãƒŗã‚¸č‰˛ãŽã‚ŋã‚°ãŒčĄ¨į¤ēされ、たとえばこぎã‚ŋã‚°ã‚’åą•é–‹ã—ãŸã„ã¨č¨€ã†ã¨ã€äģ–ぎすずãĻぎčŗĒ問もここãĢ襨į¤ēされぞす。 į§ã¯ãƒ‡ãƒŧã‚ŋベãƒŧ゚ãĒおをäŊœæˆã—、それらすずãĻãĢベクトãƒĢ埋めčžŧãŋもあるぎで、åŸēæœŦįš„ãĢこれらぎčŗĒ問ぎ1つをčĻ‹ã‚‹ã¨ã€ã“ã“ãĢčŗĒ問æœŦ文があり、ここãĢã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖãĢį›´æŽĨæˇģäģ˜ã•れた埋めčžŧãŋデãƒŧã‚ŋがあり、検į´ĸį”¨ãŽãƒ™ã‚¯ãƒˆãƒĢã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šã‚‚æ ŧį´ã•ã‚ŒãĻいることがわかりぞす。

äģĨ上が、デãƒŧã‚ŋベãƒŧ゚č‡ĒäŊ“と、そぎデãƒŧã‚ŋベãƒŧ゚へぎå…ĨåŠ›æ–šæŗ•ã§ã™ã€‚ ぞた、Stack Overflow API å‘ŧãŗå‡ēしぎãŋをäŊŋį”¨ã—ãĻ、Stack Overflow ぎデãƒŧã‚ŋを取垗しぞす。 しかし、こぎデãƒŧã‚ŋは、あらゆる場所、あらゆる API、あらゆるデãƒŧã‚ŋã‚Ŋãƒŧ゚ãĒãŠã‹ã‚‰åž—ã‚‰ã‚Œã‚‹ã“ã¨ã¯æƒŗåƒãĢé›Ŗãã‚ã‚Šãžã›ã‚“ã€‚ そしãĻ、RAGãŒį„ĄåŠšãĢãĒãŖãĻいるとき、ボットは最初ぎãƒĸãƒŧドãĢãĒりぞす。 åŸēæœŦįš„ãĢį›´æŽĨäŊŋį”¨ã—ãŸLLMであれば、LLMã¨å¯žčŠąã—ã€ãŸã¨ãˆã°ã€Docker ScoutぎäŊŋい斚ãĒãŠã‚’č¨€ã†ã“ã¨ãŒã§ããžã™ã€‚ そしãĻã€į§ã¯æƒ…å ąã‚’é¸ãŗã€ãã‚Œã¯åŸēæœŦįš„ãĢあãĒたãĢäŊ•ã‹ã‚’ä¸Žãˆãžã™ãŒã€į§ã¯įŸĨりぞせん。 ナマ 2だと思いぞす。 原際ãĢこれãĢé–ĸã™ã‚‹æƒ…å ąãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œãžã›ã‚“ã€‚ しかし、ä슿œãŽčŗĒ問をäŊŋį”¨ã™ã‚‹ã¨ã€LangChainをäŊŋį”¨ã—ãĻPDFをčĻį´„ã™ã‚‹ãĢはおうすればよいですか? それから、åŸēæœŦįš„ãĢį§ã¯LangChainãĢついãĻäŊ•ã‚‚įŸĨらãĒã„ã¨č¨€ã„ãžã™ã€ãĒぜãĒらįŸĨč­˜ãŒéŽæ–­ã•ã‚ŒãŸãŽã¯LangChainが昨嚴11月ãĢãƒĒãƒĒãƒŧã‚šã•ã‚Œã‚‹å‰ã ãŖãŸã‹ã‚‰ã§ã™ã‚ˆã­? ええ、それはブロックチェãƒŧãƒŗã ã¨æ€ãŖãĻいぞす。 ああ、そうです。 ã—ãŸãŒãŖãĻ、åŸēæœŦįš„ãĢは、RAG゚トã‚ĸãĢčĄŒãåŒã˜čŗĒ問と比čŧƒã§ããžã™ã€‚ ã—ãŸãŒãŖãĻ、åŸēæœŦįš„ãĢは前ãĢčĒŦæ˜Žã—ãŸã“ã¨ã‚’čĄŒã„ãžã™ã€‚ それはあãĒたぎčŗĒ問を受け取り、それをベクトãƒĢãĢ変換し、ベクトãƒĢã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šãĢčĄŒãã€ã‚°ãƒŠãƒ•ãƒ‡ãƒŧã‚ŋベãƒŧ゚内ぎ上äŊKぎドキãƒĨãƒĄãƒŗãƒˆãžãŸã¯čĻį´ ã‚’æ¤œį´ĸし、これらぎčŗĒå•ã‹ã‚‰æœ€ã‚‚čŠ•äžĄãŽéĢ˜ã„ã€ãžãŸã¯å—ã‘å…ĨれられãĻã„ã‚‹å›žį­”ãĢčĄŒãã€ãã‚Œã‚‰ãŽčŗĒå•ã¨ã“ã‚Œã‚‰ãŽå›žį­”ã‚’LLMãĢæ¸Ąã—ãĻ、ここでぎčŗĒ問ãĢį­”ãˆãžã™ã€‚

čˆžå°čŖã§ã¯å¤šããŽã“ã¨ãŒčĩˇã“ãŖãĻã„ãžã™ãŒã€ã‚ŗãƒŧドãĢついãĻもčĒŋずぞす。 これは原際ãĢはデãƒŧã‚ŋベãƒŧ゚ãĢあるStack OverflowãŽč¨˜äē‹ã‹ã‚‰å–られたもぎで、RAGパã‚ŋãƒŧãƒŗãŽæœŦåŊ“ãĢč‰¯ã„į‚šãŽ1つは、åŸēæœŦįš„ãĢå‚į…§å¯čƒŊで検č¨ŧ可čƒŊãĒã‚Ŋãƒŧã‚šã‚’å›žį­”ã‹ã‚‰åž—ã‚‰ã‚Œã‚‹ã“ã¨ã§ã™ã€‚ åŗã€‚ つぞり、単ãĢå›žį­”ã‚’į”Ÿæˆã™ã‚‹ã ã‘ã§ãĒãã€ãƒ†ã‚­ã‚šãƒˆãƒãƒŖãƒŗã‚¯ã‚„æƒ…å ąãŒåŸēæœŦįš„ãĢ検č¨ŧされるãƒĒãƒŗã‚¯ã‚„URL、そぎäģ–ãŽį¨ŽéĄžãŽã‚Ŋãƒŧ゚をLLMãĢæ¸Ąã™ã¨ã€LLMãĢ指į¤ēしãĻã€å›žį­”ã‚’å‡ē力ぞたはčĻį´„ã™ã‚‹ã¨ããĢã€å†į”Ÿæˆã•ã‚ŒãŸã‚Ŋãƒŧ゚ãƒĒãƒŗã‚¯ã¨ã—ãĻäŊŋį”¨ã™ã‚‹ã‚ˆã†ãĢäŋƒã™ã“とができぞす。 ã—ãŸãŒãŖãĻ、それらをäŊŋį”¨ã—ãĻčŠŗį´°ãĢå…Ĩることができぞす。 æŦĄãĢ、これらぎãƒĒãƒŗã‚¯ãŽ1つをクãƒĒックしãĻã€ã“ã“ã§æƒ…å ąã‚’å–åž—ã§ããžã™ã€‚

そしãĻ最垌ぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã¯ã€å‰čŋ°ã—たようãĢ、PDFãƒãƒŖãƒƒãƒˆãƒœãƒƒãƒˆã§ã™ã€‚ LLMã‹ã‚‰ãŽå›žį­”ãĢæē€čļŗã§ããĒã„å ´åˆã¯ã€ãƒ‰ãƒŠãƒ•ãƒˆãƒã‚ąãƒƒãƒˆã‚’į”Ÿæˆã™ã‚‹ã¨č¨€ã†ã“ã¨ãŒã§ããžã™ - ãã‚Œã¯į§ãŒå‰ãĢčŋ°ãšãŸäģ–ぎã‚ĸプãƒĒで、åŸēæœŦįš„ãĢデãƒŧã‚ŋベãƒŧ゚から最éĢ˜čŠ•äžĄãŽæƒ…å ąãžãŸã¯ãƒ‡ãƒŧã‚ŋベãƒŧ゚から最éĢ˜čŠ•äžĄãŽčŗĒ問を取垗し、そぎčŗĒ問ぎ゚ã‚ŋイãƒĢã§ã‚‚å›žį­”ã‚’į”Ÿæˆã—ãžã™ã€‚

ここでは、åŸēæœŦįš„ãĢã‚ĸã‚¤ãƒŗã‚ˇãƒĨã‚ŋã‚¤ãƒŗãŽį‰šč¨ąã¨į™ē明をã‚ĸップロãƒŧãƒ‰ã—ã€ãƒ•ã‚Ąã‚¤ãƒĢãĢ「すずãĻぎį™ē明をãƒĒ゚トã‚ĸãƒƒãƒ—ã™ã‚‹ã€ã¨č¨€ã†ã“ã¨ãŒã§ããžã™ã€‚ æŦĄãĢ、åŸēæœŦįš„ãĢは、pdfからæŠŊå‡ēã•ã‚ŒãŸã“ã‚Œã‚‰ãŽãƒ†ã‚­ã‚šãƒˆãƒãƒŖãƒŗã‚¯ã‚’å†åēĻ取垗し、最もé–ĸé€Ŗæ€§ãŽéĢ˜ã„æƒ…å ąã‚’čĻį´„ã—ãĻå–åž—ã—ã€å›žį­”ã‚’čŋ”しぞす。 ã¤ãžã‚Šã€ã“ã‚Œã¯ä¸€į¨ŽãŽå¤–éƒ¨ãĒぎで、これらぎã‚ĸプãƒĒはすずãĻ゚トãƒĒãƒŧãƒŸãƒŗã‚°ã‚ĸプãƒĒです。 API と JavaScript ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã‚’å‚™ãˆãŸč¨€čĒžã¨ã‚ĸプãƒĒもčŋŊ加するäēˆåŽšã§ã™ã€‚ ですから、これはå‡ēį™ēį‚šãĢすぎぞせん。 そしãĻ、åŸēæœŦįš„ãĢは、ã‚ĸã‚¤ãƒŗã‚ˇãƒĨã‚ŋã‚¤ãƒŗãŒãƒ–ãƒŠã‚Ļã‚šã¯į§‘å­Ļįš„ãĒį™ē明ではãĒãåŽŸį”¨įš„ãĒį™ē明であるとæąē厚したことがPDFからわかりぞす。

これらすずãĻãŽã‚ŗãƒŧドをčĒŋずたい場合は、Harrison ãŒã‚‚ã†å°‘ã—čŠŗã—ãčĒŦæ˜Žã§ãã‚‹į‚šã‚‚ã‚ã‚‹ã§ã—ã‚‡ã†ã€‚ たとえば、LLMぎãŋをäŊŋį”¨ã™ã‚‹é–ĸ数があり、これらぎčŗĒ問ãĢį­”ãˆã‚‹ãŸã‚ãĢåŊšįĢ‹ã¤ãƒ˜ãƒĢプがあることをį¤ēã™ãƒ—ãƒ­ãƒŗãƒ—ãƒˆãŒã‚ã‚Šã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆãƒ†ãƒŗãƒ—ãƒŦãƒŧトをäŊŋį”¨ã—ãĻäēē間ぎčŗĒå•ã¨ã‚ˇã‚šãƒ†ãƒ ãƒĄãƒƒã‚ģãƒŧジぎčŗĒ問をå…Ĩ力しぞす。 そしãĻ、゚トãƒĒãƒŧãƒŸãƒŗã‚°å‡ē力をäŊŋį”¨ã—ãžã™ã€‚ ChatGPT と同様ãĢã€å›žį­”ã‚’ã‚šãƒˆãƒĒãƒŧムとしãĻį”Ÿæˆã—ãžã™ã€‚ だから、ここãĢã“ãŽã‚ŗãƒŧãƒĢバックがあるぎです。 æŦĄãĢ、åŸēæœŦįš„ãĢãƒĻãƒŧã‚ļãƒŧå…ĨåŠ›ã¨ã‚ŗãƒŧãƒĢバックでチェãƒŧãƒŗã‚’å‘ŧãŗå‡ēã—ã€å›žį­”ãŽį”Ÿæˆã‚’é–‹å§‹ã—ãžã™ã€‚

åŸēæœŦįš„ãĢは、LLMぎãŋãŽãƒãƒŖãƒƒãƒˆã‚’čĄŒã†ãŸã‚ãĢåŋ…čρãĒã‚ŗãƒŧドはすずãĻこれだけです。 į›´æŽĨįš„ãĒã‚‚ãŽã‚’åŽŸčĄŒã—ãŸã„å ´åˆã¯ã€ã“ã“ãĢã‚ˆã‚Šč¤‡é›‘ãĒã‚ŗãƒŧãƒ‰ãŒã‚ã‚Šã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã¯ã‚‚ã†å°‘ã—č¤‡é›‘ã§ã™ã€‚ į§ãŸãĄã¯ã‚ãĒたがčĻ‹ãĻいるもぎ、そしãĻあãĒたがã‚Ŋãƒŧ゚とãƒĒãƒŗã‚¯ã‚’æŒãŖãĻã„ã‚‹ã“ã¨ã‚’ãĄã‚‡ãŖã¨čĒŦ明し、そしãĻこぎã‚ģã‚¯ã‚ˇãƒ§ãƒŗã§ã¯ãƒ‡ãƒŧã‚ŋベãƒŧ゚クエãƒĒからぎčĻį´„ã§ã™ã€‚ そしãĻ、ãƒĻãƒŧã‚ļãƒŧぎčŗĒ問は、ãƒĻãƒŧã‚ļãƒŧãƒ†ãƒŗãƒ—ãƒŦãƒŧトãĢæ¸Ąã•ã‚Œãžã™ã€‚ ã—ãŸãŒãŖãĻã€å„å›žį­”ãĢもãƒĒãƒŗã‚¯ãŒåŋ…čĻã§ã‚ã‚‹ã¨ã‚‚čŋ°ãšãĻいぞす。 ぞた、わからãĒã„å ´åˆã¯ã€į­”ãˆã‚ˆã†ã¨ã—ãĒいでください。įŸĨらãĒã„ã¨ã ã‘č¨€ãŖãĻください。

æŦĄãĢã€ã“ã‚Œã‚’ã‚ˇã‚šãƒ†ãƒ ã¨äēēé–“ãŽãƒ†ãƒŗãƒ—ãƒŦãƒŧãƒˆãŽãƒãƒŖãƒƒãƒˆãƒ—ãƒ­ãƒŗãƒ—ãƒˆãĢ取りčžŧãŋ、ベクトãƒĢとナãƒŦッジグナフぎįĩąåˆã‚’įĸēčĒã—ãžã™ãŒã€åŸēæœŦįš„ãĢはLangChain、ベクã‚ŋãƒŧ゚トã‚ĸãƒ‘ãƒƒã‚ąãƒŧã‚¸ã€ãžãŸã¯ä¸€éƒ¨ã‹ã‚‰ã¨č¨€ã†ã ã‘ã§ã™ã€‚ Neo4j ベクã‚ŋãƒŧ ゚トã‚ĸを取りčžŧむことができぞす。 ぞた、åŋ…čρãĢåŋœã˜ãĻäģ–ぎベクã‚ŋãƒŧ゚トã‚ĸを取りčžŧんで、åŸēæœŦįš„ãĢã“ã‚ŒãŒį§ãŽãƒ™ã‚¯ã‚ŋãƒŧã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šã§ã‚ã‚Šã€ã“ã‚ŒãŒæŽĸã™ãƒ•ã‚ŖãƒŧãƒĢãƒ‰ã§ã‚ã‚‹ã¨č¨€ã„ã€åŽŸéš›ãĢこぎグナフを提䞛し、čŗĒ問ãĢį§ģ動しãĻé–ĸé€Ŗæƒ…å ąã‚’å–åž—ã—ãĻLLMãĢčŋ”すこともできぞす。 æŦĄãĢ、これらすずãĻを、ベクã‚ŋãƒŧをãƒŦトãƒĒãƒŧバãƒŧとしãĻ構成した検į´ĸQAチェãƒŧãƒŗå†…ã§įĩ„ãŋ合わせぞす。 上ぎ2つぎčĻį´ ãŒåŋ…čĻã§ã™ã€‚ これをåĸ—やすことはできぞすが、čρᴠãĢæ¸Ąã•ã‚Œã‚‹ãƒ†ã‚­ã‚šãƒˆãŽé‡ãŒå¤§ãããĒり、そぎåŊąéŸŋがありぞす。 1ã¤ã¯ã€äž‹ãˆã°ã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆãŽé€”ä¸­ãĢã‚ã‚‹ã‚‚ãŽã‚’į„ĄčĻ–ã—å§‹ã‚ã‚‹ãŸã‚ã€ã‚ˆã‚ŠįĸēįŽ‡įš„ãĢãĒることです。 つぞり、テキ゚トぎ量ãĢåŋœã˜ãĻ2〜5個が遊切であり、これがčŗĒ問ãĢį­”ãˆã‚‹ãŸã‚ãĢäŊŋį”¨ã•ã‚Œã‚‹QAチェãƒŧãƒŗã§ã™ã€‚

ã“ã‚ŒãŒčˆžå°čŖãŽã‚ŗãƒŧドぎようãĒもぎで、Harrison ã¯ã€ã“ãŽã‚ŗãƒŧãƒ‰ãŽåŽŸčĄŒä¸­ãĢ原際ãĢäŊ•がčĩˇã“ãŖãĻã„ã‚‹ãŽã‹ã‚’æŠŠæĄã™ã‚‹æ–šæŗ•ã‚’å°‘ã—čĒŋずぞす。

ãˆãˆã€ã‚‚ãĄã‚ã‚“ã§ã™ã€‚ そこで、Michaelが最垌ãĢčĻ‹ã›ãŸãŽã¯ã€ã“ãŽã‚Ŋãƒŧ゚チェãƒŧãƒŗãĢよる検į´ĸQAã§ã€ã“ã‚Œã¯ã€ã“ãŽæ­ŖįĸēãĒRAGベãƒŧ゚ぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’åŽŸčĄŒã™ã‚‹ãŸã‚ãŽå¤šããŽãƒ­ã‚¸ãƒƒã‚¯ã‚’åĢむチェãƒŧãƒŗå†…ãŽã‚¯ãƒŠã‚šã§ã™ã€‚ ã“ã‚Œã¯ã€ããŽã‚¯ãƒŠã‚šã ã‘ã§į°Ąå˜ãĢé–‹å§‹ã§ãã‚‹ã“ã¨ã‚’æ„å‘ŗã™ã‚‹ãŽã§į´ æ™´ã‚‰ã—ã„ã“ã¨ã§ã™ãŒã€ããŽã‚¯ãƒŠã‚šãĢは原際ãĢはかãĒりぎ量ぎロジックがåĢぞれãĻã„ã‚‹ãŸã‚ã€å°‘ã—į†æƒŗįš„ã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚ そしãĻ、これはLangChainぎ原際ãĢã¯ã‚ˆã‚Šå˜į´”ãĒクナ゚ぎ1つでもありぞす。 ã‚ˆã‚Šč¤‡é›‘ãĒもぎぎ中ãĢは、さらãĢ多くぎロジックが内部ãĢあるもぎもありぞす。

ãƒŠãƒŗã‚°ã‚šãƒŸã‚š

ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’æ§‹į¯‰ã™ã‚‹ã¨ãã¯ã€æ•°čĄŒãŽã‚ŗãƒŧãƒ‰ã‹ã‚‰å§‹ã‚ã‚‹ãŽã¯į´ æ™´ã‚‰ã—ã„ã“ã¨ã§ã™ãŒã€å†…éƒ¨ã§äŊ•がčĩˇã“ãŖãĻã„ã‚‹ã‹ã‚’į†č§Ŗã—ãĻã€ãƒ‡ãƒãƒƒã‚°ã¨æ”šå–„ã‚’čĄŒã„ã€ãƒ—ãƒ­ãƒˆã‚ŋã‚¤ãƒ—ã‹ã‚‰é‹į”¨į’°åĸƒãĢ原際ãĢį§ģčĄŒã§ãã‚‹ã‚ˆã†ãĢすることが非常ãĢ重čĻã§ã™ã€‚ そぎためãĢ、デバッã‚Ŧである LangSmith をäŊœæˆã—ぞした。 å¤šããŽã“ã¨ã‚’čĄŒã„ãžã™ãŒã€äēē々がそれをäŊŋį”¨ã™ã‚‹ä¸ģãĒį›Žįš„ã¯ã€å†…éƒ¨ã§äŊ•がčĩˇã“ãŖãĻã„ã‚‹ã‹ã‚’æ­ŖįĸēãĢįĸēčĒã™ã‚‹ãŸã‚ãŽãƒ‡ãƒãƒƒã‚°ã¨å¯čĻŗæ¸Ŧ性です。

ここでčĻ‹ã‚‹ã¨ã€åŽŸéš›ãĢは3ã¤ãŽį•°ãĒるã‚ŋã‚¤ãƒ—ãŽã‚ˇãƒŧã‚ąãƒŗã‚šãŒã‚ã‚‹ã“ã¨ãŒã‚ã‹ã‚Šãžã™ã€‚ というわけで、これが最初ぎ1つです。 これは、RAGぎãĒい最初ぎLLMã‚ŗãƒŧãƒĢãĢすぎぞせん。 そしãĻ、これはLLMぎ非常ãĢå˜į´”ãĒãƒ—ãƒ­ãƒŗãƒ—ãƒˆãĒぎで、非常ãĢį°Ąå˜ã§ã™ã€‚ ただし、LangSmith ã§åŽŸįžã§ãã‚‹å„Ēれた抟čƒŊぎいくつかをæŠĢéœ˛ã™ã‚‹äž‹ã¨ã—ãĻこれをäŊŋį”¨ã™ã‚‹ã ã‘ã§ã€å„ã‚šãƒ†ãƒƒãƒ—ã¸ãŽå…Ĩ力とå‡ē力がäŊ•ã§ã‚ã‚‹ã‹ã‚’æ­ŖįĸēãĢįĸēčĒã§ããžã™ã€‚ é–ĸ逪äģ˜ã‘られãĻã„ã‚‹ãƒĄã‚ŋデãƒŧã‚ŋã‚’čĄ¨į¤ēできぞす。 そしãĻã€į‰šãĢLLMぎ場所ãĢčĄŒãã¨ã€åŽŸéš›ãĢ小さãĒéŠãŗå ´ã‚’é–‹ã„ãĻ、それをいじくり回すことができぞす。 ããŽãŸã‚ã€ã‚ãĄã‚‰ãŽč¨­åŽšã‚’įĸēčĒã§ããžã™ã€‚ å…Ĩ力を変更しãĻã‹ã‚‰å†åŽŸčĄŒã—ã€å‡ē力を取垗しãĻåŸēæœŦįš„ãĢデバッグできぞす。 ã“ã‚Œã¯ã€č¤‡æ•°ãŽ LLM å‘ŧãŗå‡ēã—ãŽã‚ˇãƒŧã‚ąãƒŗã‚šãŒã‚ã‚‹å ´åˆãĢ非常ãĢåŊšįĢ‹ãĄãžã™ã€‚ ãŸã¨ãˆã°ã€ããŽã‚ˇãƒŧã‚ąãƒŗã‚šãŽ 3 į•Ēį›ŽãŽã‚ˇãƒŧã‚ąãƒŗã‚šã‚’ãƒ‡ãƒãƒƒã‚°ã™ã‚‹å ´åˆã¯ã€æ­ŖįĸēãĒįŠļæ…‹ã€æ­ŖįĸēãĒå…ĨåŠ›å¤‰æ•°ã€ãŠã‚ˆãŗæ­ŖįĸēãĒãƒ—ãƒ­ãƒŗãƒ—ãƒˆ ãƒ†ãƒŗãƒ—ãƒŦãƒŧトを再äŊœæˆã™ã‚‹åŋ…čĻãŒã‚ã‚Šãžã™ã€‚ ですから、これらすずãĻをã‚ĸプãƒĒでį‹ŦįĢ‹ã—ãĻčĄŒãŠã†ã¨ã™ã‚‹ãŽã§ã¯ãĒãã€ã“ã“ã§į°Ąå˜ãĢプãƒŦイグナã‚Ļãƒŗãƒ‰ã‚’é–‹ãã“ã¨ãŒã§ããžã™ã€‚

æˆģると、チェãƒŧãƒŗãĢはさらãĢ2つぎã‚ŋイプがあることがわかりぞす。 これらは原際ãĢは非常ãĢよくäŧŧたチェãƒŧãƒŗã§ã™ãŒã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆãŒį•°ãĒるだけです。 ã—ãŸãŒãŖãĻ、こぎ検į´ĸ、ã‚Ŋãƒŧ゚チェãƒŧãƒŗãĢよる検į´ĸQAをčĻ‹ã‚‹ã¨ã€ä¸€é€ŖãŽæ‰‹é †ã‚’įĸēčĒã§ããžã™ã€‚ 最初ãĢこぎ retriever ゚テップがあり、æŦĄãĢこぎ StuffDocumentsChain がありぞす。 retriever ゚テップをčĻ‹ã‚‹ã¨ã€ã‚¯ã‚¨ãƒĒを受け取り、ドキãƒĨãƒĄãƒŗãƒˆãŽãƒĒ゚トをčŋ”ã™ã“ã¨ãŒčĄŒã‚ã‚ŒãĻいることがわかりぞす。 ここでは、čŋ”却されãĻいるドキãƒĨãƒĄãƒŗãƒˆãŒæ­ŖįĸēãĢäŊ•であるかをčĒŋずることができぞす。 そしãĻã€į§ãŸãĄã¯ãã‚Œã‚‰ã™ãšãĻをここでčĻ‹ã‚‹ã“ã¨ãŒã§ããžã™ã€‚ こぎ StuffDocumentsChain はåŸēæœŦįš„ãĢこれらぎå…Ĩ力を受け取りぞす。 つぞり、čŗĒå•ãŒã‚ã‚Šã€ãƒãƒŖãƒƒãƒˆåąĨ歴があり、これらぎå…Ĩ力ドキãƒĨãƒĄãƒŗãƒˆãŒã‚ã‚Šãžã™ã€‚ そしãĻ、これらは前ぎãƒŦトãƒĒãƒŧバãƒŧ゚テップからæĨãĻいぞす。

そしãĻã€å†…éƒ¨įš„ãĢは、これらすずãĻã‚’č¨€čĒžãƒĸデãƒĢへぎ最įĩ‚įš„ãĒå‘ŧãŗå‡ēしãĢæ¸Ąã—ãĻいぞす。 そしãĻã€ã“ã‚Œã‚’å†ãŗãƒ—ãƒŦイグナã‚Ļãƒŗãƒ‰ã§é–‹ãã¨ã€ãƒžã‚¤ã‚ąãƒĢがäģĨ前ãĢ指摘しãĻã„ãŸã‚ˇã‚šãƒ†ãƒ ãƒ—ãƒ­ãƒŗãƒ—ãƒˆãŒčĄ¨į¤ēされぞす。 æŦĄãŽã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆã‚’äŊŋį”¨ã—ã€æœ€åžŒãĢčŗĒ問ãĢį­”ãˆãžã™ã€‚ ã‚ŗãƒŗãƒ†ã‚­ã‚šãƒˆãĢは、äŊ•とか、äŊ•とか、äŊ•とか、čŗĒ問がåĢぞれãĻいぞす。 そしãĻ、それはここãĢč˛ŧりäģ˜ã‘られãĻいぞす。 そしãĻ、最垌ãĢは、ãƒĻãƒŧã‚ļãƒŧぎčŗĒå•ãŒčĄ¨į¤ēされぞす。 LangChainをäŊŋãŖãĻPDFをčĻį´„ã™ã‚‹ãĢはおうすればいいですか? ã“ãŽãƒ—ãƒ­ãƒŗãƒ—ãƒˆãŒãŠãŽã‚ˆã†ãĢ襨į¤ēされるかは、取垗手順が厌äē†ã™ã‚‹ãžã§ãĢæ­ŖįĸēãĢわかりぞす。

ここãĢæˆģると、こぎチェãƒŧãƒŗã¯åŸēæœŦįš„ãĢ同じようãĢčĻ‹ãˆã‚‹ã“ã¨ãŒã‚ã‹ã‚Šãžã™ã€‚ そしãĻ、äŊ•がčĩˇã“ãŖãĻいるかというと、ä¸ģãĒé•ã„ã¯æ¸Ąã•ã‚Œã‚‹ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã§ã™ã€‚ そしãĻã€ã“ã‚ŒãŒã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆãŒč¨€čĒžãƒĸデãƒĢãĢåŽŸčĄŒæ–šæŗ•ã‚’æŒ‡į¤ēするため、äģĨ前ãĢ非常ãĢ重čĻã ãŖãŸį†į”ąã§ã™ã€‚ そしãĻ、こぎįĩæžœãŽé•いをčĻšãˆãĻã„ã‚Œã°ã€ãŠã“ã§å‚į…§ã‚’å–åž—ã—ãžã™ã‹ã€‚ そしãĻ、こぎįĩæžœã¯ã€ãã†ã§ãĒã„å ´åˆã€å”¯ä¸€ãŽé•ã„ã¯ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã§ã™ã€‚ 1ã¤ãŽãƒ—ãƒ­ãƒŗãƒ—ãƒˆã¯ã€ããŽå›žį­”ã‚’åĢむã‚Ŋãƒŧ゚ぎãƒĒã‚šãƒˆã‚’į”Ÿæˆã™ã‚‹ã‚ˆã†ãĢ指į¤ēしãĻおり、もう1ã¤ãŽãƒ—ãƒ­ãƒŗãƒ—ãƒˆã¯ãã‚Œã‚’æą‚ã‚ãĻいぞせん。 これは、こぎã‚ŋã‚¤ãƒ—ãŽãƒ—ãƒ­ãƒŗãƒ—ãƒˆæˆĻį•Ĩで垗られる多くぎ柔č쟿€§ã‚’į¤ēしãĻいぞす。

ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽčŠŗį´°

ãã‚ŒãŒã“ã“ã§į´šäģ‹ã—ãŸã‹ãŖãŸã“ã¨ã ã¨æ€ã†ãŽã§ã€ã¨ã‚Šã‚ãˆãšã‚šãƒŠã‚¤ãƒ‰ãĢæˆģりぞす。 æŦĄãŽæ•°æžšãŽã‚šãƒŠã‚¤ãƒ‰ã§ã¯ã€ã“ぎã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽčŠŗį´°ã‚’čĒŦ明しãĻいぞす。 ã“ã‚Œã‚‰ã‚’å…ąæœ‰ã—ãĻ、多くぎã‚Ēãƒŧã‚ąã‚šãƒˆãƒŦãƒŧã‚ˇãƒ§ãƒŗã§ Docker Compose をäŊŋį”¨ã—ãĻã„ã‚‹å†…åŽšã‚’ã‚ˆã‚ŠčŠŗį´°ãĢįĸēčĒã§ãã‚‹ã‚ˆã†ãĢしぞす。 さぞざぞãĒã‚ŗãƒŗãƒ†ãƒŠãŒåŧ•き上げられãĻいぞす。 Ollama — į§ãŸãĄã¯åŊŧらぎロãƒŧã‚ĢãƒĢLLMをäŊŋãŖãĻいぞす。 そしãĻ、これらは、åŋ…čρãĢåŋœã˜ãĻã‚ĩãƒ–ã‚¤ãƒŗã§ãã‚‹äģ–ぎLLMです。 そしãĻ、これらはすずãĻã€ãžãŖãŸãåŒã˜ã‚¤ãƒŗã‚ŋãƒŧフェãƒŧ゚を持つLangChainとぎįĩąåˆãŽã‚ˆã†ãĒã‚‚ãŽã‚’æŒãŖãĻいぞす。 そぎため、それらをä礿›ã—たり、ä礿›ã—たり、原験したりするぎは非常ãĢį°Ąå˜ã§ã™ã€‚

åŸēčĒŋčŦ›æŧ”では、あãĒたやあãĒたぎäŧšį¤žãŒGenAIぎためãĢäŊ•ã‚’æ§‹į¯‰ã™ã‚‹ã‹ã‚’æŠŠæĄã—ã€åŽŸéš›ãĢそれãĢčŖŊ品市場を遊合させるためãĢ、åŸēæœŦįš„ãĢこぎčŋ…速ãĒ原験æŽĩ階ぎ重čĻæ€§ãĢついãĻčŠąã—ãĻいたäēēがいたと思いぞす。 これがLangChainãŽäžĄå€¤ææĄˆãŽä¸€éƒ¨ã§ã‚ã‚Šã€ã“ãŽčŋ…速ãĒ原験でもありぞす。 Neo4jは明らかãĢここでぎナãƒŦッジグナフです。 そしãĻ、Neo4jぎ大きãĒåˆŠį‚šã¯ã€ã•ãžã–ãžãĒã‚ŗãƒŗã‚ģプトをčĻ–čĻšåŒ–ã§ãã‚‹ã“ã¨ã§ã™ã€‚ ここでも、デãƒŧã‚ŋをæŽĨįļšã—ぞす。 そぎ多くは、デãƒŧã‚ŋをベクã‚ŋãƒŧ゚トã‚ĸãĢ投げčžŧんでいぞす。 チェãƒŧãƒŗã§äŊ•がčĩˇã“ãŖãĻいるかをčĻ–čĻšåŒ–ã§ãã‚‹ãŽã¨åŒã˜ã‚ˆã†ãĢ、ベクã‚ŋãƒŧ゚トã‚ĸãĢäŊ•ãŒã‚ã‚‹ã‹ã‚’æ­ŖįĸēãĢčĻ–čĻšåŒ–ã§ãã‚‹ãŽã¯æœŦåŊ“ãĢį´ æ™´ã‚‰ã—ã„ã“ã¨ã§ã™ã€‚

そしãĻ、これらすずãĻぎLLMã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽãƒ†ãƒŧマぎ1つは、こぎようãĒįĸēįŽ‡įš„æ€§čŗĒが加わると、ã‚Ēブã‚ļãƒŧバビãƒĒãƒ†ã‚ŖãŒæœŦåŊ“ãĢ重čρãĢãĒるということです。 ã“ã‚Œã¯ã€į§ãŸãĄãŒãžã¨ã‚ãŸã“ãŽGenAI゚ã‚ŋックぎ大きãĒボãƒŧナ゚であり、ナãƒŦッジグナフでLLMをæŽĨ地するためãĢäŊŋį”¨ã•ã‚Œã‚‹Neo4jぎもぎも同様です。 ã“ãŽã‚¤ãƒŗãƒãƒŧト手順をįĸēčĒã§ããžã™ã€‚ ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šäŊœæˆãŽã‚šãƒ†ãƒƒãƒ—も非常ãĢč¤‡é›‘ã§ã™ã€‚ ですから、それč‡ĒäŊ“はåˆĨãŽčŠąãĒぎでしょう。 こぎテキ゚トを前å‡Ļį†ã—ã€ãƒãƒŖãƒŗã‚¯ãĢåˆ†å‰˛ã—ã€ã•ãžã–ãžãĒã‚ŋグでベクã‚ŋãƒŧデãƒŧã‚ŋベãƒŧ゚ãĢæ­ŖįĸēãĢ配įŊŽã™ã‚‹æ–šæŗ•ãĢé–ĸしãĻã€čˆžå°čŖã§ã¯ã•ãžã–ãžãĒã‚Ēãƒ—ã‚ˇãƒ§ãƒŗãŒé€˛čĄŒä¸­ã§ã™ã€‚ ã“ãŽį´ æ™´ã‚‰ã—ã„čĻ–čĻšåŒ–ã‚’ã“ã“ã§å–åž—ã§ãã‚‹ã‚ˆã†ãĢしぞす。

LangChainぎ部分も、これらぎさぞざぞãĒã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆã€ã¤ãžã‚Šã‚ĸプãƒĒã‚’æ§‹į¯‰ã™ã‚‹æ–šæŗ•ãŽã‚ˆã†ãĒもぎです。 æŦĄãĢ、äŊœæˆã•れたã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽã„ãã¤ã‹ãŒčĄ¨į¤ēされぞす。 ぞず、čŗĒ問ãĢåŸēãĨいãĻå›žį­”ã™ã‚‹ã“ãŽã‚ĩポãƒŧト エãƒŧã‚¸ã‚§ãƒŗãƒˆ ボットです。 Pythonで書かれãĻいぞす。UIはStreamlitãĢありぞす。 そしãĻ、LLMチェãƒŧãƒŗã¯LLMãĢ埋めčžŧむようãĢäŋƒã—ã€ã‚ˇãƒŧãƒŗãŽä¸‹ã§Neo4jをäŋƒã—ぞす。 å…ˇäŊ“įš„ãĢは、QAチェãƒŧãƒŗã§ãƒĻãƒŧã‚ļãƒŧぎčŗĒå•ãŒã‚ã‚Šã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã‚’æ§‹æˆã—ãĻå‡ē力を提䞛し、ã‚Ŋãƒŧ゚をãƒĒ゚トã‚ĸップし、UIãĢãƒŦãƒŗãƒ€ãƒĒãƒŗã‚°ã—ãžã™ã€‚

Neo4jベクã‚ŋãƒŧ゚トã‚ĸã§å…ˇäŊ“įš„ãĢäŊ•がčĩˇã“ãŖãĻいるぎかãĢついãĻã¯ã€ã“ã“ã§čŠŗã—ãčĒŦ明しぞすぎで、čŗĒå•ã‚’æ¸Ąã™ãƒ™ã‚¯ãƒˆãƒĢとしãĻ埋めčžŧãŋぞす。 そぎベクトãƒĢãĢé–ĸé€Ŗã™ã‚‹ãƒ‰ã‚­ãƒĨãƒĄãƒŗãƒˆã‚’æ¤œį´ĸし、それをæˆģしぞす。 これは、MichaelがæŠĢéœ˛ã—ãŸãƒ¯ãƒŧクフロãƒŧで、ナãƒŦッジベãƒŧ゚ãĢå›žį­”ãŒãĒい場合ãĢãƒã‚ąãƒƒãƒˆã‚’į”Ÿæˆã—ãžã™ã€‚ ãƒĻãƒŧã‚ļãƒŧぎčŗĒå•ã‚’ãƒã‚ąãƒƒãƒˆãĢ変えることができぞす。 というぎも、äēē々がいぞだãĢč§Ŗæ˜Žã—ã‚ˆã†ã¨ã—ãĻいる大きãĒことぎ1つであり、ãĒぜäģŠã€é–‹į™ē者ãĢãĒるぎãĢæœŦåŊ“ãĢč‰¯ã„æ™‚æœŸãĒぎかは、これらすずãĻぎGenAIã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãĢã¨ãŖãĻ遊切ãĒUXはäŊ•かということだからです。 それらはæœŦåŊ“ãĢå„ĒれãĻいãĻ、æœŦåŊ“ãĢåŧˇåŠ›ã§ã‚ã‚‹å¯čƒŊæ€§ãŒã‚ã‚Šãžã™ãŒã€åŽŒį’§ã§ã¯ã‚ã‚Šãžã›ã‚“ã€‚ では、それをおぎようãĢäŧãˆãĒがら、UXãĢ取りå…Ĩã‚Œã‚‹ã‚‚ãŽã§čŖœãŖãĻいるぎでしょうか? そしãĻ、これは少しã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗå›ē有ぎもぎであり、これもぞた、äģŠGenAIiでã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’æ§‹į¯‰ã™ã‚‹įĩļåĨŊぎ抟äŧšã§ã‚ã‚‹į†į”ąã§ã™ã€‚

これは、LangChainぎドキãƒĨãƒĄãƒŗãƒˆã‹ã‚‰ãŽã‚šã‚¯ãƒĒãƒŧãƒŗã‚ˇãƒ§ãƒƒãƒˆã§ã€į§ãŸãĄãŒæŒãŖãĻいるãƒĻãƒŧã‚šã‚ąãƒŧã‚šãŽã„ãã¤ã‹ã‚’į´šäģ‹ã—ãĻいぞすぎで、これらぎいずれかがあãĒたぎįŠēæƒŗã‚’åˆēæŋ€ã™ã‚‹ãĒらば、åŋ…ずそれらをチェックしãĢčĄŒããĢčĄŒããžã™ã€‚ さぞざぞãĒãƒĻãƒŧã‚šã‚ąãƒŧ゚があり、さぞざぞãĒįĩąåˆã‚‚たくさんあるぎで、それらは反寞側ãĢありぞす。 ですから、クナã‚ĻドプロバイダãƒŧãĒお、ä¸ģčρãĒもぎだけでãĒく、さぞざぞãĒã‚ŗãƒŗãƒãƒŧãƒãƒŗãƒˆãĢも多くぎもぎがあることがわかりぞす。 それぞれぎ下ãĢは、取りčžŧむことができるさぞざぞãĒã‚ŋイプぎツãƒŧãƒĢ、ãƒŦトãƒĒãƒŧバãƒŧ、LLMãĢついãĻ100する50があることはご存じでしょう。LangSmithは、これぞでčĻ‹ãĻきたようãĢ、LLMã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽã‚Ēブã‚ļãƒŧバビãƒĒãƒ†ã‚Ŗã‚šãƒ†ãƒƒãƒ—ãŽã‚ˆã†ãĒもぎで、おぎようãĒã‚šãƒ†ãƒƒãƒ—ã‚’č¸ã‚€ãŽã§ã—ã‚‡ã†ã‹? å„ã‚šãƒ†ãƒƒãƒ—ãŽã‚¤ãƒŗãƒ—ãƒƒãƒˆã¨ã‚ĸã‚ĻトプットはäŊ•ですか? įžåœ¨ã€ãƒ—ãƒŠã‚¤ãƒ™ãƒŧトベãƒŧã‚ŋį‰ˆã§ã™ãŒã€ä슿—ĨここãĢいるすずãĻぎäēēぎためãĢã‚ŗãƒŧドをäŊœæˆã—ãžã—ãŸãŽã§ã€ãœã˛čŠĻしãĻãŋãĻいただき、そぎQRã‚ŗãƒŧドでLangSmithãĢすぐãĢã‚ĸクã‚ģ゚できるはずです。 これをčĻ‹é€ƒã—ãŸå ´åˆã¯ã€åžŒã§į§ãĢäŧšã„ãĢæĨãĻください。 ã‚ģットã‚ĸップできãĻうれしいです。 これãĢã‚ˆã‚Šã€æ­ŖįĸēãĒトãƒŦãƒŧã‚šã¨æ­ŖįĸēãĒå…Ĩ力をįĸēčĒã§ãã‚‹ã“ãŽã‚ˆã†ãĒビãƒĨãƒŧが可čƒŊãĢãĒりぞす。 Michaelã¯ã€į§ãŸãĄãŒčŠąã—ãĻきたこれらすずãĻぎもぎãĢã‚ĸクã‚ģã‚šã™ã‚‹æ–šæŗ•ãĢついãĻå°‘ã—čŠąã—ãžã™ã€‚

čĩˇå‹•しãĻåŽŸčĄŒã™ã‚‹

では、おこでå…Ĩ手できぞすか? æœ€ã‚‚į°Ąå˜ãĒæ–šæŗ•ã¯ã€ãƒŠãƒŧãƒ‹ãƒŗã‚°ã‚ģãƒŗã‚ŋãƒŧでDocker Desktopを開くだけで、中夎ぎAIとMLぎã‚Ŧイド(GenAI゚ã‚ŋック)ぎ下ãĢ襨į¤ēされぞす。 ãƒĒãƒŗã‚¯ã‚’ã‚¯ãƒĒックすると、åŸēæœŦįš„ãĢgitãƒĒポジトãƒĒãĢį§ģ動し、クロãƒŧãƒŗã‚’äŊœæˆã—ãĻダã‚Ļãƒŗãƒ­ãƒŧドできぞす。 「docker compose upã€ã‚’åŽŸčĄŒã™ã‚‹ã¨ã€čĩˇå‹•しãĻåŽŸčĄŒã•ã‚ŒãĻいるはずです。 äģ–ぎもぎをčŋŊ加する場合、ぞたはäŊŋį”¨ã™ã‚‹ãƒĸデãƒĢãŽį¨ŽéĄžã‚’å¤‰æ›´ã™ã‚‹å ´åˆã¯ã€ã™ãšãĻ構成ãĢありぞす。 䚞うご期垅。そこãĢã¯ã‚‚ãŖã¨å¤šããŽã‚‚ãŽãŒã‚ã‚Šãžã™ã€‚

お気čģŊãĢご意čĻ‹ã‚’ãŠå¯„ã›ãã ã•ã„ã€‚ 10月 26æ—ĨãĢは開į™ē者äŧšč­°ãŒé–‹å‚Ŧされぞすぎで、こぎグナフぎčĻ‹æ–šã‚„æƒ…å ąãŽã¤ãĒぎ斚ãĢついãĻã‚‚ãŖã¨įŸĨã‚ŠãŸã„æ–šã¯ã€ãœã˛ãŠčļŠã—ください。 すずãĻぎã‚ŋイムゞãƒŧãƒŗã§ 24 æ™‚é–“ãŽã‚ŗãƒŗãƒ†ãƒŗãƒ„ãŒã‚ã‚Šã€100äģĨ上ぎčŦ›æŧ”がありぞす。 ML/AI は、åŧˇåŠ›ãĒビジãƒĨã‚ĸナイã‚ŧãƒŧã‚ˇãƒ§ãƒŗãĒお、そぎ大きãĒ側éĸです。 おうもありがとうございぞす。

čŗĒį–‘åŋœį­”

čŗĒå•ã‚‚ã§ããžã™ãŒã€ãƒžã‚¤ã‚¯ã¨ã‹æŒãŖãĻãĒã„ã¨æ€’éŗ´ã‚‰ãĒいといけãĒいぎで、遠慎ãĒããŠéĄ˜ã„ã—ãžã™ã€‚

つぞり、グナフ デãƒŧã‚ŋベãƒŧ゚は、ぞずįŦŦ一ãĢã€æƒ…å ąã‚’ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚ŖãŠã‚ˆãŗãƒĒãƒŦãƒŧã‚ˇãƒ§ãƒŗã‚ˇãƒƒãƒ—ã¨ã—ãĻæ ŧį´ã™ã‚‹æąŽį”¨ãƒˆãƒŠãƒŗã‚ļã‚¯ã‚ˇãƒ§ãƒŗ デãƒŧã‚ŋベãƒŧ゚です。 ã—ãŸãŒãŖãĻ、テãƒŧブãƒĢだけがあるãƒĒãƒŦãƒŧã‚ˇãƒ§ãƒŠãƒĢ デãƒŧã‚ŋベãƒŧã‚šã¨ã¯į•°ãĒã‚Šã€ã‚¨ãƒŗãƒ†ã‚Ŗãƒ†ã‚Ŗã¯ 1 つぎã‚ŋイプぎã‚ĒブジェクトとしãĻ、ãƒĒãƒŦãƒŧã‚ˇãƒ§ãƒŗã‚ˇãƒƒãƒ—ã¯åˆĨぎã‚ŋイプぎã‚ĒブジェクトとしãĻæŒãŖãĻいぞす。

ベクトãƒĢデãƒŧã‚ŋベãƒŧ゚、ぞたはより一čˆŦįš„ãĢはベクトãƒĢã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šã¯ã€å¤šæŦĄå…ƒæĩŽå‹•å°æ•°į‚šã¨æƒ…å ąãŽæœŦčŗĒãŽã‚ŗãƒŧãƒ‡ã‚Ŗãƒŗã‚°ã‚’å–ã‚‹ã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šã§ã™ã€‚ そしãĻ、ベクトãƒĢ埋めčžŧãŋでぎベクトãƒĢįŦĻåˇåŒ–ã¯ã€å¤šæŦĄå…ƒãƒ™ã‚¯ãƒˆãƒĢįŠē間ãĢおける文įĢ ãŽæœŦčŗĒã€ã“ãŽå†™įœŸãŽæœŦčŗĒ、こぎ単čĒžã‚„ãƒ“ãƒ‡ã‚ĒぎæœŦčŗĒãĒお、というようãĒもぎです。 そしãĻ、ベクトãƒĢデãƒŧã‚ŋベãƒŧ゚ぎこれらぎベクトãƒĢã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šã¯ã€åŸēæœŦįš„ãĢį‰šåŽšãŽãƒ™ã‚¯ãƒˆãƒĢをčĻ‹ã¤ã‘ã‚‹ã“ã¨ã‚’å¯čƒŊãĢしぞす。

あãĒたがčŗĒ問するようãĢã€į§ãŽãƒ‡ãƒŧã‚ŋベãƒŧã‚šå†…ã§ã€čˇé›ĸãžãŸã¯č§’čˇé›ĸ、äŊ™åŧĻぞたはãƒĻãƒŧクãƒĒãƒƒãƒ‰čˇé›ĸぎいずれかですでãĢ存在するäģ–ぎベクトãƒĢãĢæœ€ã‚‚éĄžäŧŧしãĻいる、ぞたは最もčŋ‘いもぎはäŊ•ですか? ベクトãƒĢデãƒŧã‚ŋベãƒŧ゚はåŸēæœŦįš„ãĢ、æ—ĸ存ぎベクトãƒĢを大量ãĢ取垗し、å…Ĩ力ãĢ最もčŋ‘いベクトãƒĢをčĻ‹ã¤ã‘ã‚‹éžå¸¸ãĢéĢ˜é€ŸãĒã‚ĸãƒĢゴãƒĒã‚ēムです。 äģ–ãĢも多くぎベクã‚ŋãƒŧデãƒŧã‚ŋベãƒŧ゚があり、䞋えば杞ãŧãŖãã‚ŠãĒおです。 しかし、Neo4j、MongoDB、PostgresãĒおぎäģ–ぎ多くぎデãƒŧã‚ŋベãƒŧ゚は、通常ぎデãƒŧã‚ŋベãƒŧ゚ãĢベクトãƒĢã‚¤ãƒŗãƒ‡ãƒƒã‚¯ã‚šã‚’čŋŊ加しãĻいるため、通常ぎデãƒŧã‚ŋベãƒŧ゚とベクトãƒĢ検į´ĸをäŊĩį”¨ã™ã‚‹åˆŠį‚šãŒã‚ã‚Šãžã™ã€‚ ã—ãŸãŒãŖãĻ、ベクトãƒĢ検į´ĸã ã‘ã‚’čĄŒã„ã€ãã‚ŒäģĨ外はäŊ•ã‚‚čĄŒã‚ãĒいという非常ãĢį‹­ã„ãƒĻãƒŧã‚šã‚ąãƒŧ゚があり、ベクトãƒĢデãƒŧã‚ŋベãƒŧ゚が遊しãĻいるが、デãƒŧã‚ŋベãƒŧ゚ãĢæ—ĸ存ぎデãƒŧã‚ŋがすずãĻある場合は、デãƒŧã‚ŋベãƒŧ゚ぎベクトãƒĢ検į´ĸ抟čƒŊをそぎぞぞäŊŋį”¨ã§ããžã™ã€‚

では、ベクトãƒĢデãƒŧã‚ŋベãƒŧ゚でäŊ•ã‚’ã—ãŸã„ãŽã‹ã€ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã‚’å‡ēã™ã¨č¨€ãˆãžã™ã‹? AIãĢãƒ—ãƒ­ãƒŗãƒ—ãƒˆãŽäŊœæˆã‚’䞝é ŧã™ã‚‹ã¨ã„ã†ã‚ŗãƒŗã‚ģプトãĢついãĻčĒ­ãŋぞした。 そぎ場合、ã‚ĸイデã‚ĸãĒおはありぞすが、デジã‚ŋãƒĢãƒ—ãƒ­ãƒŗãƒ—ãƒˆãŽã‚ˆã†ãĢåŊšįĢ‹ãĄãžã™ã€‚

ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã‚’å–ã‚Šã€LLMãĢそれを攚善するようãĢ䞝é ŧするというæĩã‚Œã§ã„ãã¤ã‹ãŽį ”įŠļčĢ–æ–‡ãŒã‚ã‚Šãžã—ãŸã€‚ åŽŸčŖ…ã¯ã‚ã‚‹ã¨æ€ã„ãžã™ã€‚ APE(ã‚Ēãƒŧトマチックãƒģãƒ—ãƒ­ãƒŗãƒ—ãƒˆãƒģã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸ)というもぎがある。 というぎも、LLMがうぞくいかãĒい場合、゚ペãƒŧã‚šã‚„į‰ŠãŒã‚ãŖãĻはãĒらãĒいところãĢäŊ™åˆ†ãĒ゚ペãƒŧ゚があるわけではãĒいからです。 MidJourneyãŽãƒ—ãƒ­ãƒŗãƒ—ãƒˆã‚’čĻ‹ã‚‹ã¨ã€ãƒŠãƒŗãƒ€ãƒ ãĒ文字ぎようãĒもぎがありぞすよね? そしãĻ、おぎ単čĒžã‚’ä¸Ļãšã‚‹ãšãã‹ã‚’č€ƒãˆã‚‹ãŸã‚ãŽä¸€į¨ŽãŽčŠ¸čĄ“ãŒã‚ã‚Šãžã™ã€‚

LLMはそうではãĒã„ã¨æ€ã„ãžã™ã—ã€å¤ąæ•—ã™ã‚‹ã¨ã€æ šæ‹ ã¨ãĒるデãƒŧã‚ŋがãĒã‹ãŖãŸã‚Šã€æŒ‡į¤ēが明įĸēでãĒã‹ãŖãŸã‚Šã™ã‚‹ãĒãŠã€į­”ãˆã‚‹ãšãæ­Ŗã—ã„æ–‡č„ˆãŒæŦ ã‘ãĻいることが多いと思いぞす。 ã—ãŸãŒãŖãĻ、指į¤ēが明įĸēでãĒくãĻã‚‚å•éĄŒã‚ã‚Šãžã›ã‚“ã€‚ į§ãŒã‚ˆã‚Šåŧˇæ°—ãĒぎは、LLMをäŊŋãŖãĻ、äēēé–“ãŒãƒ—ãƒ­ãƒŗãƒ—ãƒˆãĢã‚‚ãŖã¨å¤šããŽã‚‚ãŽã‚’ã‚‚ãŸã‚‰ã™ã“ã¨ãŒã§ãã‚‹æ–šæŗ•ã‚’ææĄˆã™ã‚‹ã¨ã„ã†ã‚ĸイデã‚ĸかもしれぞせん - LLMがč‡Ēå‹•įš„ãĢããŽæƒ…å ąã‚’æŒãĄčžŧã‚€ãŽã¯é›Ŗã—ã„ã¨æ€ã†ãŽã§ã€åŋ…ずしもč‡Ē分でやるわけではありぞせんが、おぎようãĒã“ã¨ã‚’č¨€ã†ã‹ã¯æ˜Žįĸēではありぞせん。

ありがとうございぞす。

さらãĢčŠŗã—ã