
ãããŒã«ã«LLMãOllama Open WebUI å®å šè§£èª¬ãåçŽåãã
- å²åŒãã
ã远èšïŒ2024幎11æ25æ¥ããªã¢ã«ã¿ã€ã äŒè©±ã®èšå®æ¹æ³ã远èšããŸãããæ¥æ¬èªã«å¯Ÿå¿ãã髿§èœã®STTïŒSpeech to TextïŒã»TTSïŒText to SpeechïŒã®èšå®æ¹æ³ã§ãã
ã远èšïŒ2024幎8æ31æ¥ãApache Tikaã®å°å
¥æ¹æ³ã远èšããŸãããæ¥æ¬èªPDFã®RAGå©çšã«åŒ·ããªããŸãã
ã¯ããã«
æ¬èšäºã¯ãããŒã«ã«ããœã³ã³ç°å¢ã§LLMïŒLarge Language ModelïŒãå©çšã§ããGUIããã³ããšã³ã (Ollama) Open WebUI ã®ã€ã³ã¹ããŒã«æ¹æ³ãäœ¿ãæ¹ããLLMããŒã«ã«å©çšãåããŠã®æ¹ãæ³å®ããŠäžå¯§ã«è§£èª¬ããŸãã
â» ç»åçæAIãšåãã§ãããŒã«ã«ã§AIãåäœãããã«ã¯ãã²ãŒãã³ã°PCã¯ã©ã¹ã®ããœã³ã³ãå¿ èŠã«ãªããŸããå ·äœçã«ã¯ã16GB以äžã®ã·ã¹ãã ã¡ã¢ãªãšã8GB以äžã®NVIDIA補ã®GPUã¡ã¢ãªãå¿ èŠã«ãªããŸãã

â LLM ãããŒã«ã«ã§å©çšããã¡ãªãã
ChatGPT ã GeminiãCopilotçãäžè¬çã«ãªããAI ãšãã£ãããéããŠæ å ±ãåŸãããè§£æããè¡çºãåœããåã«ãªããŸãããããããåºæ¬ç¡æã§å©çšå¯èœãªãããã®ãµãŒãã¹ãããªãããŒã«ã«ã§è¡ãå¿ èŠãããã®ãïŒäœãå©ç¹ãããã®ãïŒã«é¢ããŠèå¯ããŠã¿ãŸãã
ã¡ãªãã
ãã¡ãã倧ããªçç±ã®äžã€ã¯ïŒé»æ°ä»£ã¯å¿ èŠã§ããïŒç¡æã§ããããšã§ããç¹ã«APIå©çšæã®ãããªå©çšããŒã¿ã«æ¯äŸããŠèª²éãããçšéã§ã¯ãè²»çšã®æŠç®ããããããå¿ èŠã«ãªã£ããã倧ããŒã¿ãæ±ãæã®ç²Ÿç¥çè² è·ã倧ãããªã£ãŠæ¬æ¥ã®äœæ¥ã«éäžã§ããªããªã£ããããŸãããã©ã€ïŒãšã©ãŒã®äœæ¥ãè¡ããšæããæ°åã«ããªããŸãã
次ã«ãå®çšçãªå©ç¹ãäžãããšãç¶ç¶æ§ãã«ã¹ã¿ãã€ãºæ§ãèªç±åºŠã®é«ãã§ããäŒæ¥ã®çªç¶ã®åºåå°å ¥ã仿§å€æŽãéå¶ãµãŒãã¹çµäºã«æ¯ãåãããäºãªããèªåã®ããæ¹ã§AIãæ±ãäºãå¯èœã«ãªããŸãããã€ãŠã®YouTubeã«åºåããªãã£ãïŒãããŒã®ã¿ïŒããã«ãAIäŒæ¥ãç¬å ã»å¯¡å ããããã«ãªãã°ããããChatå©çšããéã«åºåã¢ã³ã±ãŒãã«çããããåºåæç« ãèªãã§è¿çãããªã©ã®äœæ¥ã匷å¶ãããããå¯èœæ§ãåŠå®ã§ããŸããããããŠåºåãªã©ã®ä»æ§å€æŽã®éœåºŠãããŒã«ã«åŽã§æ§ç¯ããç¬èªã·ã¹ãã ã¯ç£å»ãšãªããŸãã
ããŒã«ã«ã§å©çšããå Žåã¯ãAPIçµç±ã§ãã£ãŠãã³ãã³ãçµç±ã§ãã£ãŠãå¶éãªãå©çšã§ãããããçšéã«ç¡éã®å¯èœæ§ããããŸããããšãã°ç°¡åãªã·ã¹ãã ã®ã³ãã³ããäœãããšãç°¡åã«ã§ããŸãã
éçãé¢ä¿ãªãææã®ãµçµãååšããªãã®ã§ãèªåã§æ§ç¯ããã·ã¹ãã ãç¬èªã®ããŠããŠã¯ãããŒãã«åé¡ãçºçããªãéãåæ°žä¹ çã«èªåã®ãã®ã«ãªããŸãã
æè¿ã¯åšç¥ãããŠããŸããããGeminiãChatGPTçã§ãããšããããã£ããå 容ã¯ãïŒèŠçŽã«ããïŒååŠç¿çšã®ããŒã¿ãšããŠåæã«å©çšãããŸããå人æ å ±ãæ©å¯æ å ±ã¯ãã¡ããã§ãããä»äººã®æžããã¡ãŒã«ã»æç« ãªã©ã®èäœç©ãããŒã¿ãšããŠèš±è«Ÿãªãã¢ããããŒãããŠã¯ãããŸããããããã¯æ¿åºãäŒæ¥ã®ã¬ã€ãã©ã€ã³ã«ãæžããŠãããŸãããå³å¯ã«å®ããšãããããäœãã§ããªããªãäºãããããšæããŸãããŸããããžãã¹å¥çŽã§ã¯ååŠç¿çŠæ¢ãè¡ãäºãã§ããŸãããããã§ãè«æãæžç±ãªã©ã®èäœç©ãä»äººã®ãµãŒããŒãå©çšããè¡çºã¯ã«ãŒã«ãè°è«ããããŸããã¬ã€ãã©ã€ã³ã建ãŠåè«ãšã°ã¬ãŒã«èãã人ã¯å€ããã§ãããããŒã«ã«å©çšã§ããã°ããããã®åé¡ãšç¡çžã«ãªããŸãã
ããšã¯ããããŒã«ã«ã®æ¹ãé«éããšã¯äžæŠã«èšããŸãããããµãŒããŒã»ãã©ãã«ã§ã¢ã¯ã»ã¹äžèœã«ãªãäºããªãã®ã§ãå®å®ããé床ã§å©çšããäºãå¯èœã§ãã
ãããæå€§ã®ã¡ãªããã¯ææ³ã®èªç±ã§ããïŒä»èšäºã§ç޹ä»ããããã«ïŒGoogle Gemini ã«ã倩å®éäºä»¶ããèããšãããã¯ãããŸãããããŠãããã¯ãç¶ããšå¢ïŒ¢ïŒ¡ïŒ®å¶è£ãŸã§ååšããŸãã確ãã«äžé©åãªå 容ããããã¯ããäºã¯æ£åžžãªç€ŸäŒã®éçšã«å¿ èŠãªæ©èœã§ããã倩å®éã®ä»¶ã®ããã«ç¬åçãªæ£çŸ©ãç€ŸäŒæ£çŸ©ãšãå©çšããäºã»ã©æããã®ã¯ãããŸããããããã¯ããå 容ãäŒæ¥ãæ ªäž»ãæ±ºããã®ã§ã¯ãªãã客芳çãã€æ°äž»çã«å€æããä»çµã¿ãååšããªãéããSFãã£ã¹ããã¢ã®äžçã«ãªã£ãŠããŸããããŸããã
ãã¡ãªãã
ãŸãã¯ååæã®èµ·åã®é ãããããããŸããäœãã調ã¹ãããšããŠãã£ãããéå§ãããšãããŒããåæåã§æ°åç§åŸ ããããŸããäžåºŠèµ·åããã°äºåºŠç®ããã¯ç¬æã«åçããŠãããŸãããããã¯å®å©çšã§ã®èŽåœçãªæ¬ ç¹ã®ã²ãšã€ã§ãã
ChatGPTçãšããã¹ããšãããªãããã«ããã§ããã¹ããã¯äžã§ããäžè¬çãªLLMããããµãŒãã¹ã®ãã©ã¡ãŒã¿ã¯ 70Bãæ°çŸBïŒbillionïŒååïŒã¢ãã«ã§ããäžæ¹ã§ãããŒã«ã«ããœã³ã³ã§å©çšã§ããå®çšçãªãµã€ãºã¯7Bã§ããAIè³çްèã®æ°ã 1/10 以äžãªã®ã§ã倧ããå£ã£ãŠããŸãäºã¯ä»æ¹ããããŸããããããåŸè¿°ãã RAG ã®ä»çµã¿ãå©çšãããšããªãæ¹åã§ããŸããç»åçæã«ãèšããäºã§ãããAIããŒã«ã¯çšéãç¯å²ãéå®ããã°ããã»ã©æ§èœãäžããããã§ãã
ããŒã«ã«ã§å®çšçã«å®è¡ããã«ã¯é«æ§èœãªGPUãå¿ èŠã§ãã²ãŒãã³ã°PCçšåºŠã®ããœã³ã³ã¹ããã¯ãå¿ èŠã«ãªããŸããããããŒãPCã§å¿ èŠã¹ããã¯ã確ä¿ãããšãªããšãããªãé«äŸ¡ã«ãªã£ãŠããŸããšæããŸããå ·äœçã«ã¯ã·ã¹ãã ã¡ã¢ãªã¯16GB以äžãGPUã¡ã¢ãªã¯8GB以äžã¯æäœéå¿ é ã§ãããã ããçè ç°å¢ã®ããã«GPUã«ãŒããäºæåºãã§ããã®ã§ããã°ã6G + 4G = 10GB ãšããå©çšãå¯èœã§ãã
â» 3Dãœããã®GPUã¬ã³ããªã³ã°ã§ã¯ãäºæã®GPUãçããã¡ã¢ãªå 容ãããããã®ã¡ã¢ãªã«ä¿åããããå©çšå¯èœå®¹éãå¢ããäºã¯ãããŸããããLLMã®å Žåã¯åæ£ããŠä¿æããã®ã§ãåçŽãªè¶³ãç®ãå¯èœã«ãªããŸãã
â Open WebUI ã§ã§ããããšç޹ä»
ã¯ããã« Ollama Open WebUI ã§ã©ã®ãããªäºãã§ããã®ããç°¡åã«ç޹ä»ããŸãã
Open WebUI ãã·ã³ãã«ã«èšããšChatGPTã®UIã¯ããŒã³ã§ããUIãã¶ã€ã³ãã·ã§ãŒãã«ãããã»ãŒå ±éã§ãã
ããªã»ãããç»é²ã§ããã¢ãã«ãã¡ã€ã«
LLMã¢ãã«æ¬äœãšãã®çšéãªã©ã®ããããã£ãçŽã€ããä»çµã¿ã§ããïŒæè¿ã®ããŒãžã§ã³ã§ã¯ãRAGã®ããŒã¿ãé¢é£ä»ããããšãåºæ¥ãããã«ãªã£ãŠããŸãïŒäŸãã°ã
ããªãã¯ãã¿ãããè¡ãAIã§ããã倧åããåããäžåããå°åããæ«åããå¶ãã倧å¶ãã®7çš®é¡ããã©ã³ãã ã«éžã³ãŸãã
ãšã·ã¹ãã ããã³ããã«ç»é²ããŠããã°ããã¿ããAIãšããŠæ¯ãèã£ãŠãããŸããChatGPT ã§èšã GPTs ã«çžåœããæ©èœã§ããã


ããªã»ãããšããŠç»é²ã§ããã®ã§ãçšéã«å¿ããŠåãæ¿ããäºãã§ããŸãã
RAGãå©çšã§ãã
RAGãšã¯ Retrieval-Augmented Generation ã®ç¥ç§°ã§ãæ¥æ¬èªã§ã¯ãæ€çŽ¢æ¡åŒµçæããŸãã¯ãååŸæ¡åŒµçæããšèš³ãããŸããããã¯ãLLMã®çæèœåã«ãå€éšã®æ å ±æ€çŽ¢æ©èœãçµã¿åãããããšã§ãåçã®ç²ŸåºŠã質ãåäžãããæè¡ã§ããææ³ãæ§ã ãªãã®ããããŸãããŸããLLMãäžåºŠã«æ±ããããŒã¯ã³æ°ïŒè±èªã§ã¯çŽåèªæ°ã«äžèŽãæ¥æ¬èªã§ã¯çŽïŒæåïŒããŒã¯ã³ïŒã¯äžè¬ã«4096ã8192ãªã®ã§ããããã倧ããè¶ ããåèªæ°ãæ±ãå Žåã«ãå©çšãããŸããæžç±æ°åã®å šããŒãžããããåéã®å šè«æãªã©ã®ã¹ã±ãŒã«ã§ãæ±ããŸãã
Open WebUI ã§ã®RAGã®äœ¿ãæ¹ã¯ïŒçš®é¡ãããŸãã
â ãããURLãæ å ±å ãšããŠåç §ãã
ã#ãèšå·ã«ç¶ããŠhttpsããURLãæã¡èŸŒã¿ãšã³ã¿ãŒãæŒããšãåç §å ã®ããŒã¿ãåç §ããŠå©çšã§ããŸãã
YouTubeã®ã¢ãã¬ã¹ãæå®ãããšããã®åç»ã®åå¹ãèªã¿èŸŒã¿ãŸããã€ãŸããåç»ãèŠçŽããŠããšãããšåå¹ã®èŠçŽã«ãªããŸãã


â¡ãããããããã¹ããPDFããã¥ã¡ã³ããç»é²ããŠãã
ã#ããæåã«å ¥åãããšãç»é²ããŠããããã¥ã¡ã³ãã®åè£ãéžæã§ããŸããâ»ãmail-template-01.txtãã«ã¯å€§éã®ã¡ãŒã«äŸãèšè¿°ããŠããŸã
ã¢ãã«ãã¡ã€ã«ã«çŽã€ããäºãã§ããŸããããšãã°ãã¿ããã®å 容ãããã¹ãããŒã¿ãšããŠç»é²ããŠããã°ãããã¿ããã¢ãã«ããå©çšããéã«èªåçã«åç §ããŸãã
ããã¹ããPDFããŠã€ã³ããŠã«ãã©ãã°ïŒããããããŠãå©çšå¯èœã§ãã


â¢ãããäžã®æ€çŽ¢ãšã³ãžã³ãå©çšãã
ãŠã§ããæ€çŽ¢ãONã«ãããšãDuckDuckGo çãå©çšããŠæ€çŽ¢çµæãå©çšã§ããŸãã


ããã³ããã»ã·ã§ãŒãã«ããã®ç»é²
å®åœ¢æãç»é²ããäºãå¯èœã§ããã/ãèšå·ãæåã«å ¥åãããšäžèŠ§éžæã§ããããã«ãªããŸããäŸãã°ãenãã«ãè±èªã«ç¿»èš³ããŠããšç»é²ãããšãç°¡åã«å ¥åããäºãå¯èœã«ãªããŸãã

倿°ãã¯ãªããããŒãã®å 容ãå®åœ¢æç« ã«èªåå±éãããäºãå¯èœã§ããããšãã°ã
## æç€º
- ãè³ææç« ãã®å å®¹ã®æŠèŠãã§ããéã詳ããäžå¯§ã«èª¬æããŠã
- ãè³ææç« ãã®äººç©ãšãã®èª¬æãåæããŠã
- ãè³ææç« ãã®å°éçšèªãšãã®èª¬æãåæããŠã
## è³ææç«
{{CLIPBOARD}}
ãšãããšã{{CLIPBOARD}}ã«ã¯ãªããããŒãã®å 容ãå±éãããŸãããã¡ãã¡å®åœ¢æãç·šéããäºãªãã¯ã³ã³ãã³ãã§å ¥åã§ããŸãã
倿°ãå©çšããå Žåã¯ã次ã®ããã«ãããšãå ¥åæã«å€æ°æ¬ãéžæãã©ãŒã«ã¹ãããç¶æ ã«ãªããŸãã倿°ãïŒã€ä»¥äžããå Žåã¯ãã¿ãã»ããŒãã§æ¬¡ã«ç§»åã§ããŸãã
Create a Stable Diffusion prompt for an image of "[words]"

ã·ã¹ãã äžã®ä»»æã®ã³ãŒããå®è¡
Pythonèšèªãå©çšããŠãä»»æã®ããã°ã©ã ãšLLMçµç±ã§é£æºããäºãã§ããŸããã»ãã¥ãªãã£çã«ã¯ããªããã³ãžã£ã©ã¹ã§ãããéåžžã«åŒ·åãªããŒã«ã§ãã
ããšãã°ãçŸåšæå»ã¯LLMã ãã§ã¯ååŸã§ããŸããããä»å±ã®ãµã³ãã«ã®ã³ãŒããå©çšãããšãPythonããã¥ã¡ã³ãçæããŒã« shpinx ã³ã¡ã³ããLLMãè§£éããŠååŸã§ããããã«ãªããŸããã€ãŸããLLMã get_current_time ãå®è¡ããŸãã
"""
Get the current time in a more human-readable format.
:return: The current time.
"""



ç»åçæ
LLMã«ç»åãçæããæ©èœã¯ãããŸããããStable Diffusion ãšé£æºãããäºã§ç»åãçæããäºãã§ããŸãããã ãåçšãµãŒãã¹ã®ãããªé«åºŠãªæ©èœã¯ãªããããåã«ããã³ããããçæã»è¡šç€ºããã ãã®ãã®ã§ãã

èªã¿äžãæ©èœ
ãã©ãŠã¶ãOSã®TTSãå©çšããŠæç« ãèªã¿äžããäºãã§ããŸããæç« ã®çæåŸã«èªåã§èªã¿äžããäºãå¯èœã§ãããã¡ãããé³å£°å ¥åãå¯èœã§ãã

ãªã¢ã«ã¿ã€ã äŒè©±ã远èšïŒ2024幎11æ25æ¥ã
ã³ãŒã«æ©èœãå©çšãããšããªã¢ã«ã¿ã€ã ã«è¿ãäŒè©±ãå¯èœã«ãªããŸããChatGPTã®Advanced Voice ModeãGemini Liveã«è¿ãæ©èœã§ãã

ãã ãããã©ã«ãã®èšå®ã ãšãæ¥æ¬èªã§ã®äŒè©±ãå®çšçã«å©çšã§ããªããããæ¥æ¬èªå¯Ÿå¿ã®STTïŒSpeech to TextïŒé³å£°èªèïŒ AIã¢ãã«ã«å€æŽããTTSïŒText to SpeechïŒåæé³å£°ïŒãé«å質ã§èªç¶ãªæ¥æ¬èªçºé³ã«å€ããèšå®ã玹ä»ããŸãã
Visionã¢ãã«ã®å©çš
Visionã¢ãã«ã¯ãVision Language ModelïŒVLMïŒãšãåŒã°ããç»åãšããã¹ãã®äž¡æ¹ã®æ å ±ãçè§£ããåŠçã§ããAIã¢ãã«ã§ããåŸæ¥ã®LLMã¯ããã¹ãã®ã¿ã§ãããVisionã¢ãã«ã¯ç»åãæ±ããããããã人éã«è¿ãç¥èŠãšçè§£ãå¯èœã«ãªããŸãã
ãŠã€ã³ããŠã«ç»åãã¡ã€ã«ããã©ãã°ïŒããããããããã¯ã³ããŒã»ããŒã¹ãã§ç»åã貌ãä»ããäºãã§ããŸãã貌ãä»ããç»åãå ã«ãllava-llama3 çã®Visionã¢ãã«ã§è§£æã»å¯Ÿè©±ã§ããŸãã

llava-llama3 ã¯ç»åã®è¡šãèªã¿èŸŒãäºãã§ããŸãããã ãæ§èœã¯è¯ããããŸãããæ¥æ¬èªã«ãæªå¯Ÿå¿ã§ãã

â Open WebUIãšã¯
å ¬åŒã¬ããžããªã¯ãã¡ã
ããŒã«ã«ã®LLMã¢ãã«ã管çãããµãŒããŒåäœãã ollama ã³ãã³ãã®GUIããã³ããšã³ãã Open WebUI ã§ããLLMã®ãšã³ãžã³éšollamaãšGUIéšã® Open WebUI ã§åLLMãå©çšããäºã«ãªããŸããã€ãŸãåäœãããããã«ã¯ããšã³ãžã³ã§ããollamaã®ã€ã³ã¹ããŒã«ãå¿ èŠã«ãªããŸãã
â» Windows ç°å¢ã§LLMãGUI æäœã§ããïŒå€§äººæ°ãœãããŠã§ã¢ã« LM Studio ãš Open WebUI ããããŸããã€ã³ã¹ããŒã«ãšç®¡çã®ç°¡æãã®ç¹ã§ã¯ãçµ±åç°å¢ã§ãã LM Studio ã®æ¹ãæ Œæ®µã«åªç§ã§ããéåžžWindowsã¢ããªãšããŠå©çšã§ããŸãããããäœè ç¬èªã®UIã§ããäºããã£ãŠäººæ°ã¯ããŸãã¡ã®ããã§ããLLM æ¬äœã管çããããã«ãŠã§ã¢ã®ããã¡ã¯ãã¹ã¿ã³ããŒããollamaã«ãªã£ãŠããŸã£ãп޿°ãæ»ã£ãŠããŸãããããã㯠Open WebUI äžæã«ãªã£ãŠããŸããããªæ°ãããŸããStable Diffusion ãšäŒŒããããªç¶æ³ã§ããâŠ
Open WebUI ã¯Linuxã§åäœããwebã¢ããªã§ããã€ãŸãWindowsã§å©çšããã«ã¯WSLïŒWindows Subsystem for LinuxïŒã®ã€ã³ã¹ããŒã«ãå¿ èŠã§ããå€ãã®å ŽåãDockerãŸã㯠Docker Desktop çµç±ã§å©çšããäºã«ãªããŸãã®ã§ã銎æã®ãªã人ã¯å°ãèŠåŽããäºã«ãªããããããŸããã
â ollamaïŒOpen WebUI ã®ã€ã³ã¹ããŒã«
ããã€ãæ¹æ³ããããããããã«ã¡ãªããã»ãã¡ãªããããããŸãããçè ãæé©ãšèããæ¹æ³ã§èª¬æããŸããWSLãš Docker Desktop for Windows ã¯äžè¬çã«å©çšãããŠãããã®ã§ãã®ã§ã仿ã§ãå€ãã®è§£èª¬ããããŠããŸãã
ã€ã³ã¹ããŒã«ã®æµã
ãâ ollama Windowsçã®ã€ã³ã¹ããŒã«ã
ollama ãšã¯ãããŒã«ã«LLMãå®è¡ã»ç®¡çãããœãããŠã§ã¢ã§ããæ¬äœã¯ã³ãã³ãã§ãã
ãâ¡ WSLïŒWindows Subsystem for LinuxïŒã®å°å ¥ã
WSLãšã¯ãWindowsäžã§LinuxãåäœããããœãããŠã§ã¢ã§ããWindows 10/11 ã«ä»å±ããMicrosoftè¬¹è£œã®æè¡ã§ãã
ããã§ã¯ Ubuntu 22.04.3 LTS ãå©çšããŸãã
Docker DesktopãšOpen WebUIã®åäœã«å¿ èŠã§ãã
ã⢠Docker Desktop for Windows ã®å°å ¥ã
Dockerãšã¯ãåºçŸ©ã«ã¯ãã³ã³ãããã管çãããœãããŠã§ã¢ã§ãããWindowsãã€ãã£ãã³ã³ããã¯ããŸãå©çšãããŠããªãã®ã§ãå®éã«ã¯WSLäžã®ä»®æ³Linuxãã³ã³ãããšããŠç®¡çãããœãããŠã§ã¢ã§ãã
ã³ã³ãããšã¯äŸåé¢ä¿ãOSããåãé¢ãããã®ã§ããäŸåé¢ä¿ã«æ©ãŸãããããšãªããã©ããªç°å¢äžã§ãå·®ç°ãªãå®è¡ããäºãã§ããæè¡ã®äºã§ãã
ããã§ã¯ WSL2 ãããã¯ãšã³ããšããŠå©çšããäœ¿ãæ¹ã説æããŸãã
ã⣠Open WebUI ã®ã€ã³ã¹ããŒã«ã
ollamaã®GUIããã³ããšã³ãã§ããWebãã©ãŠã¶ããã¢ã¯ã»ã¹ããŠå©çšããŸãã
ã†åäœç¢ºèªã