ãã®ãã¥ãŒããªã¢ã«ã¯ã³ãã¥ããã£ã«ããè²¢ç®ã§ãããOpen WebUIããŒã ã«ãããµããŒãã¯åããããŸãããããã¯ãç¹å®ã®äœ¿çšã±ãŒã¹ã«åãããŠOpen WebUIãã«ã¹ã¿ãã€ãºããæ¹æ³ã瀺ããã¢ã³ã¹ãã¬ãŒã·ã§ã³ãšããŠæäŸãããŠããŸããè²¢ç®ãããã§ããïŒè²¢ç®æ¹æ³ã®ãã¥ãŒããªã¢ã«ããã§ãã¯ã ãŠãã ããã
[!WARNING] ãã®ããã¥ã¡ã³ãã¯çŸåšã®ããŒãžã§ã³ïŒ0.5.16ïŒã«åºã¥ããŠäœæãããŠãããåžžã«æŽæ°ãããŠããŸãã
Jupyter Notebookçµ±å
v0.5.11以éãOpen-WebUIã«ã¯ã³ãŒãã€ã³ã¿ãŒããªã¿ã§ã®Jupyter NotebookãµããŒã
ãšããæ°æ©èœããªãªãŒã¹ãããŸããããã®æ©èœã«ãããOpen-WebUIãšJupyterãçµ±åããããšãå¯èœã§ãããã®æ©èœã«ã¯ãã®åŸã®ãªãªãŒã¹ã§ãããã€ãã®æ¹åãå ããããŠããããããªãªãŒã¹ããŒããæ³šææ·±ã確èªããŠãã ããã
ãã®ãã¥ãŒããªã¢ã«ã§ã¯ã2ã€ã®ãµãŒãã¹éã®æ¥ç¶ãèšå®ããåºæ¬çãªæé ã説æããŸãã
Jupyter Notebookãšã¯â
Jupyter Notebookã¯ãªãŒãã³ãœãŒã¹ã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã§ãããã©ã€ãã³ãŒããæ¹çšåŒãèŠèŠåã説æçšããã¹ããå«ãããã¥ã¡ã³ããäœæãå ±æããããšãã§ããŸããäž»ã«ããŒã¿ãµã€ãšã³ã¹ãç§åŠèšç®ãæè²ã§äººæ°ããããå®è¡å¯èœãªã³ãŒãïŒPythonãRãJuliaãªã©ã®èšèªïŒã説ææãç»åãã€ã³ã¿ã©ã¯ãã£ããªèŠèŠåãšçµã¿åãããŠ1ã€ã®ããã¥ã¡ã³ãã«ãŸãšããããŸããJupyter Notebookã¯ããŒã¿åæãšæ¢çŽ¢ã«ç¹ã«æçšã§ãå°ããªã³ãŒãã¹ãããããå®è¡ããããšã§ç°¡åã«å®éšããããã°ãããã³åæããã»ã¹ãšçµæã瀺ãå æ¬çãªã¬ããŒãã®äœæãå¯èœã§ãã
詳现ã«ã€ããŠã¯ãJupyterã®ãŠã§ããµã€ããåç §ããŠãã ããïŒProject Juptyer
ã¹ããã0: èšå®ã®æŠèŠâ
ãã®ãã¥ãŒããªã¢ã«ã§ã¯ã以äžã®ãããªã¿ãŒã²ããèšå®ãè¡ããŸãã
ã¹ããã1: OUIãšJupyterãèµ·åãã
docker-compose
ã䜿çšããŠãLLMãå«ãäž¡æ¹ã®ãµãŒãã¹ãå«ãã¹ã¿ãã¯ãç«ã¡äžããŸããããåã³ã³ãããåå¥ã«å®è¡ããŠãæ©èœããã¯ãã§ãã
version: "3.8"
services:
open-webui:
image: ghcr.io/open-webui/open-webui:latest
container_name: open-webui
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
jupyter:
image: jupyter/minimal-notebook:latest
container_name: jupyter-notebook
ports:
- "8888:8888"
volumes:
- jupyter_data:/home/jovyan/work
environment:
- JUPYTER_ENABLE_LAB=yes
- JUPYTER_TOKEN=123456
volumes:
open-webui:
jupyter_data:
docker-compose
ãã¡ã€ã«ãä¿åãããã£ã¬ã¯ããªã§ä»¥äžã®ã³ãã³ããå®è¡ããŠãäžèšã®ã¹ã¿ãã¯ãèµ·åããŸãã
docker-compose up -d
以äžã®URLããäž¡æ¹ã®ãµãŒãã¹ã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãã
ãµãŒãã¹ | URL |
---|---|
Open-WebUI | http://localhost:3000 |
Jupyter | http://localhost:8888 |
JupyterãµãŒãã¹ã«ã¢ã¯ã»ã¹ããéã«ã¯ãäžèšã§å®çŸ©ããJUPYTER_TOKEN
ãå¿
èŠã§ãããã®ãã¥ãŒããªã¢ã«ã§ã¯ãããŒã¯ã³å€123456
ã䜿çšããŠããŸãã
ã¹ããã2: Jupyterçšã®ã³ãŒãå®è¡ãèšå®ãã
Open-WebUIãšJupyterãèµ·åã§ããã®ã§ãOpen-WebUIã®ç®¡çããã« -> èšå® -> ã³ãŒãå®è¡ã§Jupyterã䜿çšããããã«Open-WebUIã®ã³ãŒãå®è¡ãèšå®ããå¿
èŠããããŸãããã®æ©èœã¯Open-WebUIã§ç¶ç¶çã«æ¹è¯ãããŠãããããconfigs.py
ãã¡ã€ã«ã§åžžã«ææ°ã®èšå®ã確èªããããšããå§ãããŸããv0.5.16æç¹ã§ã以äžã®èšå®ããããŸãã
Open-WebUIç°å¢å€æ° | å€ |
---|---|
ENABLE_CODE_INTERPRETER | True |
CODE_EXECUTION_ENGINE | jupyter |
CODE_EXECUTION_JUPYTER_URL | http://host.docker.internal:8888 |
CODE_EXECUTION_JUPYTER_AUTH | token |
CODE_EXECUTION_JUPYTER_AUTH_TOKEN | 123456 |
CODE_EXECUTION_JUPYTER_TIMEOUT | 60 |
CODE_INTERPRETER_ENGINE | jupyter |
CODE_INTERPRETER_JUPYTER_URL | http://host.docker.internal:8888 |
CODE_INTERPRETER_JUPYTER_AUTH | token |
CODE_INTERPRETER_JUPYTER_AUTH_TOKEN | 123456 |
CODE_INTERPRETER_JUPYTER_TIMEOUT | 60 |
ã¹ããã3: æ¥ç¶ããã¹ãããâ
ãŸããJupyterãã£ã¬ã¯ããªã«äœããããã確èªããŸãã以äžã®ç»åãããããããã«ã空ã®work
ãã©ã«ããããããŸããã
CSVãäœæããâ
æåã®ããã³ãããå®è¡ããŸããããCode Execution
ãã¿ã³ãéžæããŠããããšã確èªããŠãã ããã
ããã³ãã: ããã©Pythonã䜿çšããŠ1ã€ç®ã®CSVãäœæããpandasã©ã€ãã©ãªã䜿çšããŠ2ã€ç®ã®CSVãäœæãããã§ã€ã¯ããŒã¿ã®2ã€ã®CSVãã¡ã€ã«ãäœæããŠãã ãããCSVãã¡ã€ã«ã®ååã¯data1.csvãšdata2.csvãšããŠãã ããã
CSVãã¡ã€ã«ãäœæãããJupyterå ã§å©çšå¯èœã§ããããšã確èªã§ããŸãã
å¯èŠåãäœæããâ
2ã€ç®ã®ããã³ãããå®è¡ããŸããããåæ§ã«ãCode Execution
ãã¿ã³ãéžæããŠããããšã確èªããŠãã ããã
ããã³ãã: matplotlibãšseabornã䜿çšããŠPythonã§è€æ°ã®å¯èŠåãäœæããããããjupyterã«ä¿åããŠãã ããã
å¯èŠåãäœæãããJupyterå ã§å©çšå¯èœã§ããããšã確èªã§ããŸãã
ããŒãããã¯ãäœæããâ
æåŸã®ããã³ãããäžç·ã«å®è¡ã㟠ãããããã®ããã³ããã§ã¯ãå®å šã«æ°ããããŒãããã¯ãäœæããŸãã
ããã³ãã: JSONãã¡ã€ã«ãèªã¿åã£ãŠæžã蟌ãPythonã³ãŒããæžãããããnotebook.ipynbãšããååã®ããŒãããã¯ã«ä¿åããŠãã ããã
å¯èŠåãäœæãããJupyterå ã§å©çšå¯èœã§ããããšã確èªã§ããŸãã