ã¯ããã«
è¿å¹ŽãAIæè¡ãç¹ã«å€§èŠæš¡èšèªã¢ãã«ïŒLLMïŒã®é²åã¯ç®èŠãŸãããã®ããããŸãããChatGPTã®ãããªã¯ã©ãŠãããŒã¹ã®ãµãŒãã¹ãäžè¬çã§ãããå®ã¯èªåã®PCäžã§LLMãåããããšãå¯èœã§ããããŒã«ã«ã§LLMãåããããšã«ã¯ããã©ã€ãã·ãŒã®ç¢ºä¿ããªãã©ã€ã³ã§ã®å©çšãAPIå©çšæã®åæžãªã©ãæ§ã ãªã¡ãªããããããŸãã
ãããããããŒã«ã«ã§LLMãåããããšèããšãç°å¢æ§ç¯ãé£ããã...ãšæããæ¹ãããã£ããããããããŸãããã¢ãã«ã®ããŠã³ããŒããå®è¡ç°å¢ã®æºåãã©ã€ãã©ãªã®ã€ã³ã¹ããŒã«ãªã©ãç ©éãªäœæ¥ãå¿ èŠã«ãªããšæãããã¡ã§ãã
ããã§ä»åã¯ãWindowsç°å¢ã§OllamaãšããããŒã«ã䜿ã£ãŠãé©ãã»ã©ç°¡åã«ããŒã«ã«LLMç°å¢ãæ§ç¯ããæ¹æ³ãã玹ä»ããŸããOllamaã䜿ãã°ãè€éãªèšå®ãªãã«æ§ã ãªLLMãæè»œã«è©Šãããšãã§ããŸãã
ãã®èšäºãéããŠãããªãã®PCäžã§AIãè³¢ãå¿çããæåããã²äœéšããŠã¿ãŠãã ããïŒ
Ollamaãšã¯ïŒ
Ollamaã¯ãããŒã«ã«ç°å¢ã§å€§èŠæš¡èšèªã¢ãã«(LLM)ãç°¡åã«å®è¡ããããã®ãªãŒãã³ãœãŒã¹ããŒã«ã§ããæ§ã ãªçš®é¡ã®LLMïŒã¢ãã«ãã¡ã€ã«ïŒã管çããã³ãã³ãäžã€ã§ããŠã³ããŒããã€ã³ã¹ããŒã«ãå®è¡ãè¡ãããšãã§ããŸãã
åŸæ¥ã®ããŒã«ã«LLMå®è¡ã§ã¯ãã¢ãã«ã«å¿ããã©ã€ãã©ãªïŒTransformers, Llama.cppãªã©ïŒãã€ã³ã¹ããŒã«ããã¢ãã«ãã¡ã€ã«ãå¥éããŠã³ããŒãããããã«ã¹ã¯ãªãããæºåãããªã©ãæéããããäœæ¥ãå€ããããŸããã
Ollamaã¯ãããã®å·¥çšãæœè±¡åãããŸãã§Dockerã®ããã«ã¢ãã«ããrunãããã ãã§å®è¡ã§ããæè»œããæäŸããŸããã¢ãã«ã®ããŒãžã§ã³ç®¡çãåãæ¿ãã容æã«ãªããããŒã«ã«LLMã®æ·å± ã倧ããäžããŠãããããŒã«ãšèšããŸãã
ãªãããŒã«ã«LLMãåããã®ãïŒ (Ollamaã䜿ãã¡ãªãã)
Ollamaã䜿ã£ãŠããŒã«ã«ã§LLMãåããããšã«ã¯ãäž»ã«ä»¥äžã®ãããªã¡ãªããããããŸãã
- ãã©ã€ãã·ãŒã®ç¢ºä¿: å€éšã®ãµãŒããŒã«ããŒã¿ãéä¿¡ããå¿ èŠããªããããæ©å¯æ å ±ãå人æ å ±ãå«ãå 容ã§ãå®å¿ããŠå©çšã§ããŸãã
- ãªãã©ã€ã³ã§ã®å©çš: äžåºŠã¢ãã«ãããŠã³ããŒãããŠããŸãã°ãã€ã³ã¿ãŒãããæ¥ç¶ããªãç°å¢ã§ãLLMãå©çšã§ããŸãã
- APIå©çšæã®åæž: ã¯ã©ãŠããµãŒãã¹ã®APIãå©çšããå Žåãéåžžå©çšéã«å¿ããæéãçºçããŸããããŒã«ã«ã§åããã°ããããã£ãè²»çšã¯ããããŸããïŒé»æ°ä»£ã¯ããããŸããïŒã
- èªç±ãªã«ã¹ã¿ãã€ãºãšå®éš: æ§ã ãªã¢ãã«ãæè»œã«åãæ¿ããŠè©ŠããããOllamaã®APIãå©çšããŠç¬èªã®ã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãã ãããããšã容æã«ãªããŸãã
- åŠç¿ãšçè§£: å®éã«æå ã§ã¢ãã«ãåããããšã§ãLLMã®ä»çµã¿ãæåã«ã€ããŠããæ·±ãçè§£ããããšãã§ããŸãã
åäœç°å¢ã»åææ¡ä»¶
Ollamaã¯Windowsãå«ãè€æ°ã®OSã«å¯Ÿå¿ããŠããŸããããã®èšäºã§ã¯Windowsç°å¢ã§ã®æ§ç¯æ¹æ³ãæ±ããŸãã
- OS: Windows 10 以é (64-bit)
- ã¡ã¢ãª (RAM): ã¢ãã«ã®çš®é¡ã«ããããŸãããæäœ8GBãå¿«é©ã«å©çšããã«ã¯16GB以äžãåŒ·ãæšå¥šããŸãã倧ããªã¢ãã«ãåããã«ã¯32GB以äžãããšæãŸããã§ãã
- ã¹ãã¬ãŒãž: ã¢ãã«ãã¡ã€ã«ã¯ãµã€ãºã倧ããïŒæ°GBïœæ°åGBïŒãããååãªç©ºã容éãå¿ èŠã§ãã
- GPU (æšå¥š): NVIDIA補ã®GPUããããšãæšè«é床ãå€§å¹ ã«åäžããŸããGPUããªãå Žåã§ãCPUã§åäœããŸãããåŠçã«æéãããããŸããGPUãå©çšããã«ã¯ã察å¿ãããã©ã€ããŒãã€ã³ã¹ããŒã«ãããŠããå¿ èŠããããŸãã
- ã€ã³ã¿ãŒãããæ¥ç¶: Ollamaã®ããŠã³ããŒãããã³ã¢ãã«ã®ããŠã³ããŒãæã«å¿ èŠã§ãã
â» ã䜿ãã®PCã®ã¹ããã¯ïŒç¹ã«ã¡ã¢ãªå®¹éãšGPUã®æç¡ïŒã«ãã£ãŠãåãããã¢ãã«ã®ãµã€ãºãå¿«é©ãã倧ããå€ãããŸãã
Ollamaã®ã€ã³ã¹ããŒã«æé (Windowsç)
Windowsçã®Ollamaã¯ãã€ã³ã¹ããŒã©ãŒãçšæãããŠããããéåžžã«ç°¡åã«ã€ã³ã¹ããŒã«ã§ããŸãã
-
Ollamaå ¬åŒãµã€ããžã¢ã¯ã»ã¹:
ãŸãã以äžã®Ollamaå ¬åŒãµã€ãã«ã¢ã¯ã»ã¹ããŸãã
https://ollama.com/ -
ããŠã³ããŒãããŒãžãžç§»åããWindowsçãããŠã³ããŒã:
ãµã€ãã«ã¢ã¯ã»ã¹ãããããDownloadããã¿ã³ãæ¢ããŠã¯ãªãã¯ããŸããããŠã³ããŒãããŒãžã«ç§»åãããããDownload for Windowsããã¿ã³ãã¯ãªãã¯ããŠãã€ã³ã¹ããŒã©ãŒïŒOllamaSetup.exe
ã®ãããªãã¡ã€ã«ïŒãããŠã³ããŒãããŸãã
-
ã€ã³ã¹ããŒã©ãŒã®å®è¡:
ããŠã³ããŒãããOllamaSetup.exe
ãã¡ã€ã«ãå®è¡ããŸãã -
ã€ã³ã¹ããŒã«ãŠã£ã¶ãŒãã®é²è¡:
ã€ã³ã¹ããŒã©ãŒãèµ·åããŸããåºæ¬çã«è¡šç€ºãããæç€ºã«åŸã£ãŠãInstallããã¯ãªãã¯ããŠããã°åé¡ãããŸãããã€ã³ã¹ããŒã«å ã®ãã©ã«ãã倿Žãããå Žåã¯é©å®å€æŽããŠãã ããã
-
ã€ã³ã¹ããŒã«å®äº:
ã€ã³ã¹ããŒã«ãå®äºãããšãã»ããã¢ããå®äºç»é¢ã衚瀺ãããŸãããCloseããã¯ãªãã¯ããŠã€ã³ã¹ããŒã©ãŒãéããŸãã
ã€ã³ã¹ããŒã«åŸãOllamaãèªåçã«èµ·åããããã¯ã°ã©ãŠã³ãã§ãµãŒãã¹ãšããŠå®è¡ãããããã«ãªããŸããã¿ã¹ã¯ãã¬ã€ã«Ollamaã®ã¢ã€ã³ã³ã衚瀺ãããŠããã確èªããŠã¿ãŸãããã
ããã§Ollamaèªäœã®ã€ã³ã¹ããŒã«ã¯å®äºã§ãïŒéåžžã«ç°¡åã§ããã
ã¢ãã«ã®ããŠã³ããŒããšå®è¡æ¹æ³
Ollamaãã€ã³ã¹ããŒã«ããã ãã§ã¯ããŸã LLMã¯äœ¿ããŸãããæ¬¡ã«ãå©çšãããã¢ãã«ãããŠã³ããŒãããŸããOllamaã¯ã³ãã³ãããã³ãããPowerShellããæäœããŸãã
-
ã¿ãŒããã«ïŒã³ãã³ãããã³ãããŸãã¯PowerShellïŒãéã:
Windowsã®æ€çŽ¢ããŒã«ãcmdããšå ¥åããŠã³ãã³ãããã³ãããéããããpowershellããšå ¥åããŠPowerShellãéããŸããã©ã¡ãã䜿ã£ãŠãæ§ããŸããã -
ã¢ãã«ãå®è¡ïŒååã¯ããŠã³ããŒãïŒ:
Ollamaã§ã¢ãã«ã䜿ãã«ã¯ãollama run <ã¢ãã«å>
ãšããã³ãã³ãã䜿ããŸããäŸãã°ã軜éã§æ±çšçãªã¢ãã«ã§ããmistralã䜿ã£ãŠã¿ãŸããããollama run mistral
ãã®ã³ãã³ããåããŠå®è¡ãããšãOllamaã¯èªåçã«æå®ãããã¢ãã«ïŒãã®äŸã§ã¯mistralïŒãããŒã«ã«ã«ããã確èªãããªããã°ã€ã³ã¿ãŒãããããããŠã³ããŒããéå§ããŸãã
pulling manifest pulling ff82381e2bea... 100% ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 4.1 GB pulling 43070e2d4e53... 100% ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 11 KB pulling 491dfa501e59... 100% ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 801 B pulling ed11eda7790d... 100% ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 30 B pulling 42347cd80dc8... 100% ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 485 B verifying sha256 digest writing manifest success
ããŠã³ããŒãã«ã¯ãã¢ãã«ã®ãµã€ãºãšã€ã³ã¿ãŒãããåç·é床ã«å¿ããŠæéãããããŸããæ°GBããã¢ãã«ãäžè¬çãªã®ã§ããã°ããåŸ ã¡ãŸãããã
ããŠã³ããŒããšå±éãå®äºãããšãã¢ãã«ãå®è¡å¯èœãªç¶æ ã«ãªããããã³ããã衚瀺ãããŸãã>>>
åºæ¬çãªäœ¿ãæ¹ãšåäœç¢ºèª
ã¢ãã«ã®ããŠã³ããŒãã»å®è¡ãå®äºãã>>>
ããã³ããã衚瀺ãããããLLMãšã®å¯Ÿè©±ãéå§ã§ããŸãã
-
質åãå ¥åãã:
ããã³ããïŒ>>>
ïŒã«å¯ŸããŠè³ªåãæç€ºãå ¥åããEnterããŒãæŒããŸãã>>> èªå·±ç޹ä»ãããŠãã ãã
-
ã¢ãã«ããã®å¿ç:
ã¢ãã«ãæèããå¿çãçæããŠè¡šç€ºããŸãã>>> èªå·±ç޹ä»ãããŠãã ãã ããã«ã¡ã¯ïŒç§ã¯Daliaã§ããçŸåšã人工ç¥èœã𿩿¢°åŠç¿ã®åéã§åããŠãããŸãããŸããç§ã¯æ¥æ¬èªãè±èªãã¹ãã€ã³èªããã« ãã¬ã«èªã話ããŸããç§ã¯ã人é¡ãšäººå·¥ç¥èœã®äºåã«é¢å¿ãããããããã®éã®é¢ä¿æ§ãç ç©¶ããŠããŸãããæäŒãã§ããããšã ããã°ããããããé¡ãããŸãïŒ
-
察話ãç¶ãã:
ç¶ããŠè³ªåãå ¥åããããšã§ã察話ãç¶ããããšãã§ããŸãã>>> Pythonã§ç°¡åãªãã£ããããæ°åã®ã³ãŒããæžããŠãã ãã 以äžã«ãPythonã§ç°¡åãªãã£ããããæ°åãçæããã³ãŒãäŸã瀺ããŸãã ```python def fibonacci(n): if n <= 0: return "Invalid input" elif n == 1 or n == 2: return 1 else: a, b = 1, 1 for _ in range(2, n): a, b = b, a + b return b # æå®ããæ°ãŸã§ã®ãã£ããããæ°åã衚瀺ãã颿° def fibonacci_sequence(n): result = [] for i in range(1, n+1): result.append(fibonacci(i)) return result # æ°åã®ç¯å²ãæå®ããŠãã£ããããæ°åã衚瀺ãã fib_seq = fibonacci_sequence(10) print(f"The first 10 Fibonacci numbers are: {fib_seq}") \``` ãã®ã³ãŒãã§ã¯ãåŒæ°ã«äžããããæ°ïŒ`n`ïŒã«å¿ããŠãã£ããããæ°åãçæããŸãããããŠãæå®ããæ°ãŸã§ã®ãã£ãããã æ°åã衚瀺ãã颿°ãå«ããŠããŸãã
-
察話ãçµäºãã:
察話ãçµäºãããå Žåã¯ã/byeãšå ¥åããŠEnterããŒãæŒãããCtrl + DãæŒããŸãã>>> /bye
-
ã€ã³ã¹ããŒã«æžã¿ã®ã¢ãã«ã確èªãã:
çŸåšOllamaã«ã€ã³ã¹ããŒã«ãããŠããã¢ãã«ã®äžèЧã確èªããã«ã¯ã以äžã®ã³ãã³ãã䜿ããŸããollama list NAME ID SIZE MODIFIED mistral:latest f974a74358d6 4.1 GB 11 minutes ago
ãã®ããã«ãã€ã³ã¹ããŒã«æžã¿ã®ã¢ãã«ãšãã®æ å ±ã衚瀺ãããŸãã
å©çšã§ããã¢ãã«ã«ã€ããŠ
Ollamaã¯æ§ã ãªçš®é¡ã®LLMã«å¯Ÿå¿ããŠããŸããå ¬åŒãµã€ãã®LibraryããŒãžã§ç¢ºèªã§ããŸãã
人æ°ã®ã¢ãã«ãšããŠã¯ã以äžã®ãããªãã®ããããŸãã
- llama2: MetaãéçºãããªãŒãã³ãªLLMãæ§ã ãªããªãšãŒã·ã§ã³ããããŸãã
- mistral: 髿§èœãã€æ¯èŒçå°ããªãµã€ãºã®ã¢ãã«ãæ±çšæ§ãé«ãã§ãã
- gemma: Googleãéçºãã軜éãªãªãŒãã³ã¢ãã«ã
- codellama: ã³ãŒãçæã«ç¹åããã¢ãã«ã
- japanese-stablelm-instruct: æ¥æ¬èªæ§èœã«åªããã¢ãã«ã
ã¢ãã«ã«ãã£ãŠã¯ãæ«å°Ÿã«:7b
ã:13b
ã:70b
ãšãã£ããã©ã¡ãŒã¿æ°ã瀺ãã¿ã°ãã:latest
ã:instruct
ã:uncensored
ãšãã£ãããŒãžã§ã³ããã¡ã€ã³ãã¥ãŒãã³ã°ã®çš®é¡ã瀺ãã¿ã°ãä»ããŠããŸãããã©ã¡ãŒã¿æ°ãå€ãã»ã©é«æ§èœã«ãªãåŸåããããŸããããã®åå¿
èŠãªã¡ã¢ãªãã¹ãã¬ãŒãžå®¹éãå¢å€§ããŸãã
ãèªèº«ã®PCã¹ããã¯ã«åãããŠãé©åãªãµã€ãºã®ã¢ãã«ãéžãã§è©ŠããŠã¿ãŠãã ãããäŸãã°ãã¡ã¢ãªã16GBçšåºŠã§ããã°ã7Bãã©ã¡ãŒã¿ã®ã¢ãã«ïŒäŸ: mistral:7b
, llama2:7b
ïŒããããã詊ãã®ãããããã§ãã
å¥ã®ã¢ãã«ã詊ãããå Žåã¯ãåæ§ã«ollama run <詊ãããã¢ãã«å>
ã³ãã³ããå®è¡ããã°ãOllamaãèªåã§ããŠã³ããŒãããŠå®è¡ããŠãããŸãã
ãããã«
ãã®èšäºã§ã¯ãWindowsç°å¢ã§Ollamaã䜿ã£ãããŒã«ã«LLMç°å¢ã®æ§ç¯æ¹æ³ãã玹ä»ããŸãããOllamaã®ãããã§ã以åã«æ¯ã¹ãŠæ Œæ®µã«æè»œã«ããŒã«ã«ã§LLMãåãããããã«ãªã£ãããšããåããããã ããããšæããŸãã
ããŒã«ã«LLMã¯ããã©ã€ãã·ãŒé¢ã§ã®å®å¿æããªãã©ã€ã³ã§ã®å©çšãã³ã¹ãé¢ã§ã®ã¡ãªãããªã©ãã¯ã©ãŠãããŒã¹ã®ãµãŒãã¹ãšã¯ç°ãªãé åãæã£ãŠããŸãã
ãã²ãã®èšäºãåèã«ãããªãã®PCäžã§æ§ã ãªLLMãåãããŠããã®å¯èœæ§ãæ¢æ±ããŠã¿ãŠãã ãããOllamaã«ã¯APIæ©èœããããç¬èªã®ã¢ããªã±ãŒã·ã§ã³éçºã«çµã¿èŸŒãããšãå¯èœã§ãã