ã¯ããã«
å æ¥Xã§ä»¥ä¸ã®ãããªãã¹ããè¦ããã¾ããã
Open Source LLM Tools
— elvis (@omarsar0) 2024å¹´9æ11æ¥
If you are looking for useful open-source LLM tools, this is a really useful resource.
It includes different categories like tutorials, AI engineering, and applications, among others. You can also see the # of GitHub stars. pic.twitter.com/v6IGibvgBZ
å°ãªãã¨ãç§ã®TLã¯æ°å¹´åããChatGPTãã¯ããã¨ããLLMé¢é£ã®è©±é¡ã§æã¡ããã§ããããããæ°ãããã¼ã«ã®ååãç®ã«ããæ©ä¼ã¯ãã£ã¦ããã©ã®ãããªç¹å¾´ããããããã©ã®ããã«å©ç¨ã§ãããããæå ã§åãããªããå¦ã¶æéã¯ç¢ºä¿ã§ãã¦ãã¾ããã§ããã
æ¬è¨äºã§ã¯å è¿°ã®ã©ã³ãã³ã°ãµã¤ããåèã«ãå¯è½ãªéãæå ã§LLMé¢é£ã®OSSãåããã¦ææ³ãæ®ãããã¨æãã¾ãã
ï¼æ³¨ï¼2024å¹´9æ20æ¥æç¹ã§ã®star_7d
ããªãã¡7æ¥éã®ã¹ã¿ã¼æ°ãå¤ãé ã«ç´¹ä»ãã¾ãã
- ã¯ããã«
- 1. Mintplex-Labs/anything-llm
- 2. lobehub/lobe-chat
- 3. OpenBMB/MiniCPM
- 4. ollama/ollama
- 5. f/awesome-chatgpt-prompts
- 6. mem0ai/mem0
- 7. ComposioHQ/composio
- 8. langflow-ai/langflow
- 9. comfyanonymous/ComfyUI
- 10. langgenius/dify
- ã¾ã¨ã
1. Mintplex-Labs/anything-llm
æ¦è¦ï¼closed LLMï¼OpenAIãAnthropicãªã©ï¼ããªã¼ãã³ã½ã¼ã¹LLMï¼Ollamaãªã©ï¼ã¨ãã¯ãã«ãã¼ã¿ãã¼ã¹ãèªç±ã«çµã¿åããããã¨ãã§ããChatGPTã®ãããªãã£ããUIãæä¾ãã¦ããã
æé ï¼
DesktopçãMacbookã«ãã¦ã³ãã¼ãããã¨ãä¸å³ã®ãããªãã£ããUIãå©ç¨ã§ããããã«ãªã£ãã
Workspaceå ã§ã¯ããã¥ã¡ã³ããã³ã³ããåããã¦ãããããã³ã³ããã¹ããã¯ãªã¼ã³ã«ä¿ã¦ãã¨ã®ãã¨ã
ãã¼ã«ã«LLMã¨ãã¦Ollamaãå©ç¨ãããã®ã§ãGitHubã®ããã¥ã¡ã³ããåèã«ãã¤ã¤ãOllamaã¨ã³ã³ããééä¿¡ã追å ãã¦Dockerçã§ã»ããã¢ãããç´ãããä»åã¯LLMã¨ãã¦Llama 3 8Bã使ç¨ããã
# compose.yaml services: anythingllm: image: mintplexlabs/anythingllm container_name: anythingllm ports: - "3001:3001" cap_add: - SYS_ADMIN environment: # Adjust for your environment - STORAGE_DIR=/app/server/storage - JWT_SECRET="************************" # openssl rand -base64 24 - LLM_PROVIDER=ollama - OLLAMA_BASE_PATH=http://ollama:11434 - OLLAMA_MODEL_PREF=llama3 - OLLAMA_MODEL_TOKEN_LIMIT=4096 - EMBEDDING_ENGINE=ollama - EMBEDDING_BASE_PATH=http://ollama:11434 - EMBEDDING_MODEL_PREF=nomic-embed-text:latest - EMBEDDING_MODEL_MAX_CHUNK_LENGTH=8192 - VECTOR_DB=lancedb - WHISPER_PROVIDER=local - TTS_PROVIDER=native - PASSWORDMINCHAR=8 # Add any other keys here for services or settings # you can find in the docker/.env.example file volumes: - anythingllm_storage:/app/server/storage restart: always ollama: image: ollama/ollama container_name: ollama ports: - "11434:11434" volumes: - ollama_storage:/root/.ollama deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] volumes: anythingllm_storage: driver: local driver_opts: type: none o: bind device: $HOME/.anythingllm # mkdir ~/.anythingllm ollama_storage: driver: local driver_opts: type: none o: bind device: $HOME/.ollama # mkdir ~/.ollama
èµ·åãããããollama run
ã§ã¢ãã«ããã¦ã³ãã¼ããã¤ã¤ããã³ãããå
¥åãã¦ã¿ãï¼ãã¡ããollama pull
ã§ãOKï¼ã
$ docker compose up -d # çç¥ [+] Running 2/2 â Container anythingllm Started 0.8s â Container ollama Started $ docker exec -it ollama ollama run llama3 pulling manifest # çç¥ verifying sha256 digest writing manifest success >>> Hello! Hello! It's nice to meet you. Is there something I can help you with, or would you like to chat? >>> /bye
Webãã©ã¦ã¶ã§<ãµã¼ãã¼ã®IPã¢ãã¬ã¹>:3001
ã«ã¢ã¯ã»ã¹ããã¨ãAnything LLMãå©ç¨ã§ããã
GPU*1ã使ç¨ããå ´åãä¸å³ã®ãããªç°¡åãªè³ªåã«å¯¾ãã¦ã¯1~2ç§ãããã§åçãè¿ã£ã¦ããã
GitHubãªãã¸ããªã丸ãã¨ã¤ã³ãã¼ããã¦Workspaceã«ããã¥ã¡ã³ãã¨ãã¦ç§»åããã¤ã¤ãç¹å®ã®ãã¡ã¤ã«ããã³çããã¦è³ªåãããã¨ãã§ããã
ãMy Documentsãã¢ã¼ãã«ãããã¡ã¤ã«ãã¢ãããã¼ãããå ´åã¯åé¡ãªãã£ãããChatGPTã®ããã«ãã£ããç»é¢ã®ðãã¿ã³ãããã¡ã¤ã«ãã¢ãããã¼ãããã¨ãªããæ£ããéä¿¡ã§ããªãã£ãã
ææ³ï¼ãã«ãã¦ã¼ã¶ã¼ããµãã¼ãããã¦ãããï¼ãã·ã³ãªã½ã¼ã¹ãããã°ï¼ç 究室ã§ã»ã«ããã¹ãããã®ã«æé©ã ã¨æããã
2. lobehub/lobe-chat
æ¦è¦ï¼ã¢ãã³ãªãã¶ã¤ã³ãç¹å¾´ã§ããAIãã£ãããã¬ã¼ã ã¯ã¼ã¯ã§ãæ¤ç´¢ã»è¦ç´ãªã©ã®ä¾¿å©ãªãã©ã°ã¤ã³ã·ã¹ãã ããããã¢ã·ã¹ã¿ã³ãã»ÃÃã¨ãã¹ãã¼ããªã©ãæãï¼GPTsã©ã¤ã¯ãªï¼ã¨ã¼ã¸ã§ã³ãã¹ãã¢ãå©ç¨ã§ããã
æé ï¼
Google AIç¨ã®ç°å¢å¤æ°ãæå®ãã¦Dockerã§ãããã¤ãã¦ã¿ããäºåã«Google AI Studioã§ç¡æã®APIãã¼ãåå¾ãã¦ããå¿ è¦ãããã
åå¾ããAPIãã¼ãå©ç¨ãã¦ãMacbookã§ä»¥ä¸ã®ã³ãã³ããå®è¡ãã³ã³ãããèµ·åããã
$ docker run -d -p 3210:3210 \ -e ENABLED_OPENAI=0 \ -e GOOGLE_API_KEY=*************************************** \ --name lobe-chat \ lobehub/lobe-chat
ææ³ï¼ãã©ã°ã¤ã³ã¨ã¢ã·ã¹ã¿ã³ãã¯ãæ°ã«å ¥ããæ¢ããããªãããå ¨ä½çã«UIãæ´ç·´ããã¦ãã¦é常ã«ä½¿ããããã£ãã
3. OpenBMB/MiniCPM
æ¦è¦ï¼ãã«ãã¢ã¼ãã«LLMï¼å ¥åï¼ç»åï¼åç»ï¼ããã¹ããåºåï¼ããã¹ãï¼ã§ãããç»åç解ã§GPT-4o miniãGemini 1.5 Proãªã©ãä¸åãã
æé ï¼
NVIDIA GPUã®å ´åã以ä¸ã®æé ã§å®è¡ããã°READMEãåæã¨ãã¦ããæä½éã®ç°å¢æ§ç¯ãã§ããã
$ docker run -it --rm --gpus all nvidia/cuda:12.6.1-cudnn-devel-ubuntu22.04 /bin/bash $ apt-get update && apt-get install -y git vim wget $ mkdir -p ~/miniconda3 && wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh && bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 && rm ~/miniconda3/miniconda.sh && ~/miniconda3/bin/conda init bash && source ~/.bashrc
ãã ãã[Install]ã®æé ã ãã§ã¯FlashAttentionãå
¥ã£ã¦ããªãã¨ã¨ã©ã¼ãåºã¦ãã¾ãã®ã§ã[Multi-turn Conversation]ãå®è¡ããåã«pip install flash-attn --no-build-isolation
ããå¿
è¦ãããã
å®éã«ç´17GBã®GPUã¡ã¢ãªã§1çªé«æ§è½ãªã¢ãã«ãåããã¦ãæ¨è«èªä½ã¯ç»åï¼è³ªåãå
¥åããå ´å5ç§ã»ã©ããããå±¥æ´ã¨ãã¦è¿½å 質åãããå ´åã«3ç§ã»ã©ã ã£ãã
ææ³ï¼iPad Proã§ã¢ãã«ãåããã¦ãããã¢åç»ãå°è±¡çã ã£ãã
4. ollama/ollama
æ¦è¦ï¼Goã§æ¸ãããè¨ããã¨ç¥ãããã¼ã«ã«LLMã®å®è¡ãã¼ã«ã
æé ï¼
ä»åã¯Gemma 2 27Bï¼16GBï¼ãNVIDIA GPUã¨Dockerã§åããã¦ã¿ãã質åã¯LLM Benchmarksãåèã«ããã
$ mkdir ollama $ docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama $ docker exec -it ollama ollama run gemma2:27b # çç¥ success >>> Argue for and against the use of kubernetes in the style of a haiku. ## For Kubernetes: Orch, scale, deploy fast. Containers dance, self-healing. Power flows, unbound. ## Against Kubernetes: Complex beast to tame. Learning curve, steep as a cliff. Simpler paths exist? >>> Sally (a girl) has 3 brothers. Each brother has 2 sisters. How many sisters does Sally have? Sally has **2** sisters. Here's why: All three of Sally's brothers share the same two sisters â Sally and her other sister. Let me know if you'd like to try another riddle!
ãã¼ã«ã«LLMã¨ãã¦ååãããæ§è½ã¨é度ãåºãã8Kãã¼ã¯ã³ã®Gemma 2ãããé·ãã³ã³ããã¹ããæ±ãã128Kãã¼ã¯ã³ã®Qwen2.5ãªã©ãå«ããé常ã«å¤ãã®ã¢ãã«ããµãã¼ããã¦ããï¼libraryï¼ã
GGUFå½¢å¼ãSafetensorså½¢å¼ã®ã¢ãã«ã®ã¤ã³ãã¼ãããµãã¼ãããã¦ããã
Modelfileã¨ãããã¡ã¤ã«ãä½æãã¦ããã³ãããã«ã¹ã¿ãã¤ãºãããã¨ãã§ããã®ã§ã以ä¸ã®ãããªãã¡ã¤ã«ãä½æãã¦ã¢ãã«ãåããã¦ã¿ãã
FROM gemma2:27b # set the temperature to 1 [higher is more creative, lower is more coherent] PARAMETER temperature 1 # set the system message SYSTEM """ You are Goku from Dragon Ball. Answer as Goku, the assistant, only, and respond exclusively in Japanese. """
ä»åã¯æ±ããªãã£ãããADAPTER
ãæå®ããã°ï¼Qï¼LoRAã¢ããã¿ã¼ãã¢ãã«ã«é©ç¨ã§ããã
$ docker cp Modelfile ollama:/tmp/ $ docker exec -it ollama /bin/bash $ cd /tmp $ ollama create goku -f ./Modelfile $ ollama run goku >>> ããã°ãã«ã«ããã...ãã¾ãããã³ãã¼1ã ï¼ï¼ ããããï¼ãããã¨ãï¼ãåãé å¼µãï¼ Saiyanã®ãã©ã¤ããè¸ã«ãæå¼·ãç®æãã¦çªãé²ããï¼ð¥ðª
ææ³ï¼åç´ã«ã¢ãã«ãåãã以å¤ã«ããã¤ã³ãã¼ããè±å¯ãªã«ã¹ã¿ãã¤ãºãã§ãã¦ä¾¿å©ãªã®ã§ãã£ã¨æ·±æããã¦ã¿ããã
5. f/awesome-chatgpt-prompts
æ¦è¦ï¼ChatGPTãããè¯ã使ãããã®ããã³ããéã
æé ï¼
READMEã«ãAct as a ãããã®ããã³ããä¾ã大éã«ä¸¦ãã§ããã
ããã¨ãã¦ãLinux TerminalãEnglish Translator and ImproverãMath TeacherãPrompt GeneratorãPrompt EnhancerãPython interpreterãªã©æ®æ®µããå©ç¨ã§ããããªãã®ããç¹å®ã®è·æ¥ã»ãã¡ã¤ã³ã«æãåããã®ã¾ã§æã£ã¦ããã
ãAct as a Regex Generatorããæ¤è¨¼ãã¦ã¿ãã
ã©ã¡ããå¾ãããæ£è¦è¡¨ç¾ã¯åãã ãããµã¼ãã¹ã®ä¸ã«LLMãçµã¿è¾¼ãéã«ã¯ãDo not write explanations or examples of how the regular expressions work; simply provide only the regular expressions themselves.ãã®ãããªããã³ãããå¿ è¦ã§ãããã±ã¼ã¹ã¹ã¿ãã£ãéãã¦ãã®é°å²æ°ãæãããã¨ãã§ããã
ææ³ï¼éãã§ããã ãã§é¢ç½ãã£ãããããã³ããã¨ã³ã¸ãã¢ãªã³ã°ã®ã¢ããã¼ã·ã§ã³ãä¸ãã£ãã
6. mem0ai/mem0
æ¦è¦ï¼ã¦ã¼ã¶ã¼ã»ã»ãã·ã§ã³ã»ã¨ã¼ã¸ã§ã³ãã¬ãã«ã§è¨æ¶ãä¿æããã¦ã¼ã¶ã¼ã¨ã®å¯¾è©±ãéãã¦é©å¿çã«ãã¼ã½ãã©ã¤ã¼ã¼ã·ã§ã³ãå®ç¾ã§ããAIã®ã¡ã¢ãªã¬ã¤ã¤ã¼ã
æé ï¼
ããã¥ã¡ã³ãã«ããã«ã¹ã¿ãã¼ãµãã¼ãã¨ã¼ã¸ã§ã³ãã®ä¾ãã¢ã¬ã³ã¸ãã¦æ¤è¨¼ããã
æ§ã ãªLLMãEmbeddierï¼LLMã®ç¨®é¡ãããããå°ãªãï¼ï¼ããµãã¼ããã¦ããããä»åã¯OpenAIã使ç¨ããã
$ docker run -d -p 6333:6333 qdrant/qdrant $ python -m venv venv $ . ./venv/bin/activate $ pip install openai mem0ai $ vim main.py # ããã¥ã¡ã³ãã®ã³ã¼ãä¾ãã³ãã¼ï¼ãã¼ã¹ã $ python main.py I'm sorry to hear that your order hasn't arrived yet. I'd be happy to assist you in resolving this issue. Could you please provide me with your order number and any other relevant details?%
ã³ã¼ãä¾ã®ã¯ã¨ãªãå®è¡ãã¦ãã¦ã¼ã¶ã¼ã¬ãã«ã§éå»ã®è¨æ¶ãä¿æããã¦ãããåããã«ããã£ãã®ã§ãPythonã®å¯¾è©±ã¢ã¼ãã使ç¨ãã¦2人ãããããéä¸ã§å¥ã®ã³ã³ããã¹ããæã¿ãªãããµãã¼ããåããã·ãã¥ã¬ã¼ã·ã§ã³ãè¡ã£ãã
Results of the Multiple Customer Queries Version â¦
Jane Doeãæåã«#12345ã®æ³¨æãå±ããªãã¨åãåããã¦ããããæå¾ã«#12345ã«ã¤ãã¦åãåãããã¨ãHow can I assist you with your order today, Jane?ãã¨èãè¿ããã¦ããè¨æ¶ãä¸ååã ã£ãã
ã¾ããã¡ã¢ãªã®å 容ã確èªããã¨ããäºæ³ãããå°ãªãããµã¤ãºã調æ´ã§ããã®ãæ°ã«ãªã£ãã
ææ³ï¼ã¦ã¼ã¹ã±ã¼ã¹ã¨ãã¦ã«ã¹ã¿ãã¼ãµãã¼ãããã«ã¹ã±ã¢ãçç£æ§ç®¡çãªã©ãæãããã¦ãã¦éè¦ã大ããã¨æããåé¢ãä»åã®ãããªè¤éãªã¯ã¨ãªã«å¯¾ããä¾ã¯ããã¥ã¡ã³ãã§ãç´¹ä»ããã¦ãããæ§è½è©ä¾¡ãéè¦ã ã¨èããã
7. ComposioHQ/composio
æ¦è¦ï¼AIã¨ã¼ã¸ã§ã³ãã¨100以ä¸ã®ã¢ããªã±ã¼ã·ã§ã³ï¼GitHubãSlackãGmailãªã©ï¼ãé£æºããããã®ãã©ãããã©ã¼ã ï¼ãã¼ã«ã»ããï¼ã
æé ï¼
🚀 Quick Start - Composioã§Pythonãé¸æããGitHubãªãã¸ããªã«ã¹ã¿ã¼ãä»ãã¦ã¿ãã
$ python -m venv venv $ . ./venv/bin/activate $ pip install composio_core composio_openai $ composio add github #çç¥ â Authenticated successfully! > Adding integration: Github... #çç¥ â Waiting for github authentication... â github added successfully with ID: ********-****-****-****-************
Composioã®ã¢ã«ã¦ã³ãï¼ç¡æï¼ãæã£ã¦ããªãã£ãã®ã§ä½æãã¦ãããGitHubã®èªè¨¼ãè¡ã£ãã
以ä¸ã®ã³ãã³ãã§ä½¿ç¨ããCOMPOSIO_API_KEY
ã¯ãã°ã¤ã³ããç¶æ
ã§https://app.composio.dev/settingsããåå¾ã§ããã
$ vim main.py # å ¬å¼ããã¥ã¡ã³ãéã $ COMPOSIO_API_KEY=*** OPENAI_API_KEY=sk-*** python main.py [2024-09-24 12:57:47,298][INFO] Logging is set to INFO, use `logging_level` argument or `COMPOSIO_LOGGING_LEVEL` change this [2024-09-24 12:57:52,519][INFO] Executing `GITHUB_ACTIVITY_STAR_REPO_FOR_AUTHENTICATED_USER` with params={'owner': 'composiohq', 'repo': 'composio'} and metadata={} connected_account_id=None [2024-09-24 12:57:53,919][INFO] Got response={'successfull': True, 'data': {'details': 'Action executed successfully'}, 'error': None} from action=<composio.client.enums._action.Action object at 0x112a780e0> with params={'owner': 'composiohq', 'repo': 'composio'} [{'successfull': True, 'data': {'details': 'Action executed successfully'}, 'error': None}]
Quick Startã®2ã¯Google Calendarã3ã¯Gmailã ããæéã®é½åã§ã¹ãããããã
ææ³ï¼èªè¨¼ããã¬ã¼ã ã¯ã¼ã¯ãæ½è±¡åããã¦ãã¦ãã¼ã«ãã¨ã®éçºãè¡ããªãã¦è¯ãããå¤§å¹ ãªã¹ãã¼ãã¢ããã«ã¤ãªããã¨æããã
8. langflow-ai/langflow
æ¦è¦ï¼Pythonãã¼ã¹ã®ãã¼ã³ã¼ãã¢ããªã±ã¼ã·ã§ã³æ§ç¯ãã¼ã«ã§ãRAGããã«ãã¨ã¼ã¸ã§ã³ãAIããã©ãã°ï¼ããããã§ä½æã§ããã
æé ï¼
ã¯ã©ã¦ããµã¼ãã¹ãHugging Faceã¹ãã¼ã¹ãæä¾ããã¦ãããããã¼ã«ã«ã§è©¦ãã¦ã¿ãã
å ¬å¼ããã¥ã¡ã³ãã«å¾ã£ã¦pipã§ã¤ã³ã¹ãã¼ã«ãã¦Langflowãµã¼ãã¼ãèµ·åããã
$ pip install langflow -U $ langflow run Starting Langflow v1.0.18... # çç¥ âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ® â Welcome to â Langflow â â â â â â Collaborate, and contribute at our GitHub Repo ð â â â â We collect anonymous usage data to improve Langflow. â â You can opt-out by setting DO_NOT_TRACK=true in your environment. â â â â Access http://127.0.0.1:7860 â â°ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¯
OpenAIã®APIãã¼ãå ¥åããã ãã§è©¦ããã¨æã£ãããããã©ã«ãã®ãã¯ãã«DBã«AstraDBã¨ãããµã¼ãã¼ã¬ã¹ãµã¼ãã¹ãã»ããããã¦ãã¦é¢åã«ãªã£ã¦ãã¾ã£ãã®ã§ã¹ãããããã
ææ³ï¼Difyã«ä¼¼ã¦ãããã®ã®ããã£ããã®ã¡ã¢ãªç®¡çå¨ãã®ããã¥ã¡ã³ããæ´åããã¦ãã¦ä»ã®ãã¼ã«ã¨å·®å¥åã§ãã¦ããå°è±¡ã ã£ãã
9. comfyanonymous/ComfyUI
æ¦è¦ï¼Stable Diffusionãªã©ã®æ¡æ£ã¢ãã«ã®ãã¤ãã©ã¤ã³ãå®è¡ã§ããããã¯ã¨ã³ããå«ãGUIãã¼ã«ã
æé ï¼æ¬è¨äºã§ã¯LLMã«ãã©ã¼ã«ã¹ãããããçç¥ã
ææ³ï¼å ¨ç¶ããã¥ã¡ã³ããèªãã¦ããªãããããã¯ã¨ã³ããGPUãã·ã³ãGUIãMacBookã§è§¦ããã¨ãã§ããã°çæ³çã ã¨æã£ãã
10. langgenius/dify
æ¦è¦ï¼ç´æçãªã¤ã³ã¿ã¼ãã§ã¤ã¹ã§AIã¯ã¼ã¯ããã¼ãRAGãã¤ãã©ã¤ã³ãã¨ã¼ã¸ã§ã³ãæ©è½ãªã©æ§ç¯ã§ããLLMã¢ããªéçºãã©ãããã©ã¼ã ã
æé ï¼
READMEã«ãããã£ã¦ã以ä¸ã®ã³ãã³ãã§ãã¼ã«ã«Difyãµã¼ãã¼ãç«ã¦ãï¼docker-compose.yaml
ã®ä¸èº«ã«ã¯ãããã³ãã¨ã³ããããã¯ã¨ã³ããDBãRedisãNginxããã¯ãã«ãã¼ã¿ãã¼ã¹ãMinIOãªã©ãå«ã¾ãã¦ããï¼ã
$ git clone https://github.com/langgenius/dify.git $ cd dify/docker $ cp .env.example .env $ docker compose up -d
http://localhost/installããWeb UIã®ã管çè ã¢ã«ã¦ã³ãã®è¨å®ãã«æ¡å ããããGetting Startedã¨ãã¦ã¯å ¬å¼ããã¥ã¡ã³ãããã以ä¸ã®è¨äºãåãããããã£ãã
注æç¹ã¨ãã¦ãè¨äºã§ã¯Rerankã¢ãã«ã¨ãã¦Cohereã®APIï¼ææï¼ãå©ç¨ããã¦ããããã代ããã«ãã¼ã«ã«GPUãã·ã³ã§XInferenceãµã¼ãã¼ãDockerã§ã»ããã¢ãããã¦bge-reranker-v2-m3ã¨ããã¢ãã«ãèµ·åããã
$ mkdir ~/.xinference $ docker run --name xinference -d -p 9997:9997 -e XINFERENCE_HOME=/data -v $HOME/.xinference:/data --gpus all xprobe/xinference:latest xinference-local -H 0.0.0.0 # <å®è¡ãããµã¼ãã¼ã®IPã¢ãã¬ã¹>:9997 ããèµ·åããã¢ãã«ãé¸æãã
è¨äºã®ããã«ã¼ãããã¯ã¼ã¯ããã¼ãæ§ç¯ãã¦ãè¯ããã便å©ãªãã³ãã¬ã¼ããå¤æ°ç¨æããã¦ããã®ã§ä»åã¯ãKnowledge Retreival + Chatbotãã使ç¨ããã
è¨äºã®éãã«ãã¬ãã¸ãä½æï¼ä»åã¯DetaGemmaã®ãã¯ãã«ã«ãã¼ãã¼ã使ç¨ï¼ãã¦ããKnowledge Retrievalããã¼ãã®ããã¬ãã¸ãã¨ãã¦è¿½å ãããã¨ã§ç°¡åã«RAGãæ§ç¯ãããã¨ãã§ããã
Difyã¯ãã®æç¹ã§ããã¢ããªä¸ã§ã®ç´æ¥å®è¡ããã¦ã§ããµã¤ãåãè¾¼ã¿ããAPIã¢ã¯ã»ã¹ã®ã»ããã¢ããããå®äºãã¦ããã ãã§ãªããã¢ãã¿ãªã³ã°ç¨ã®ããã·ã¥ãã¼ããæ¢ã«ç¨æããã¦ããã
# APIãªã¯ã¨ã¹ãã®ä¾ $ curl -X POST 'http://localhost/v1/chat-messages' \ --header 'Authorization: Bearer <YOUR_API_KEY>' \ --header 'Content-Type: application/json' \ --data-raw '{ "inputs": {}, "query": "What is Data Commons?", "response_mode": "streaming", "user": "azuma" }'; #çç¥ data: {"event": "node_finished", "conversation_id": "acecb1f4-cc0a-4d16-8ced-f66956e19c67", "message_id": "540c1696-3511-494f-97ab-b177d2bad0ca", "created_at": 1727147646, "task_id": "ed4b7547-7b65-4117-9823-f94df5fc8b2f", "workflow_run_id": "44919eb1-2702-41a8-81cf-2df1a7c24748", "data": {"id": "51693827-de76-40ad-b292-2b32d3126cf4", "node_id": "1711528915811", "node_type": "knowledge-retrieval", "title": "Knowledge Retrieval", "index": 2, "predecessor_node_id": "1711528914102", "inputs": {"query": "What is Data Commons?"}, "process_data": null, "outputs": {"result": [{"metadata": {"_source": "knowledge", "position": 1, "dataset_id": "536a3abe-8392-488f-b65d-178ed227f256", "dataset_name": "DataGemma-FullPape...", "document_id": "2efb709e-b967-4cab-88ef-c9f6005a9f1d", "document_name": "DataGemma-FullPaper.pdf", "document_data_source_type": "upload_file", "segment_id": "7ebae28e-ff12-495f-9b99-34c70a897cd7", "retriever_from": "workflow", "score": 0.9980077147483826, "segment_hit_count": 1, "segment_word_count": 1725, "segment_position": 7, "segment_index_node_hash": "ca757a7b80f202a20e26684e64a07655096ff2384ccda5ccab83b1ef8606cb3e"}, "title": "DataGemma-FullPaper.pdf", "content": "formats from only a handful of examples in training data.\r\n9 This paper builds upon LIMA utilizing\r\nsmall set training for RIG and RAG explorations with Data Commons KGs. #çç¥ #çç¥
ææ³ï¼ã¯ã¼ã¯ããã¼ã«ã¯ä»ã®ãã¼ãããããå¤æ°ã¨çµã¿åããããã¨ã§Difyã ãã§ããã«è¤éãªã·ã¹ãã ãæ§ç¯ã§ããã®ãé åã ã¨æããã
ã¾ã¨ã
ãã¬ã³ãã®ä¸ä½ãä¸å¿ã«ãæå ã§LLMé¢é£ã®OSSãåããã¦ã¿ã¾ããã
LLMã®çè«ã¯ã大è¦æ¨¡è¨èªã¢ãã«å ¥éãã¨ããæ¬ãèªãã§ç解ãããã¨ãã§ãã¾ãããããããã¯ãè¦ç¹ã¯å ¨ãæã£ã¦ããªãã£ãã®ã§å¤§ã¾ãã«é°å²æ°ãæ´ããã¨ãã§ãã¦è¯ãã£ãã§ãã
ç¹ã«ollama/ollamaã¯ã²ã¼ã ãã§ã³ã¸ã£ã¼ã ã¨æãã¾ãããGoå®è£ ãªã®ã§è¿ããã¡ã«ã½ã¼ã¹ã³ã¼ããèªãã§ã¿ããã§ãã
ã¨ã³ã¸ãã¢ã¨ãã¦æµè¡ã¯å¸¸ã«ãã£ããã¢ãããããã®ã§ã10åã¨ã¯è¨ãã3åãããå®æçã«è§¦ãç¿æ £ãã¤ãããã§ãã