跳到內容

檢索增強生成

檢索增強生成 (RAG) 是一種使生成式人工智慧 (Gen AI) 模型能夠檢索和整合新資訊的技術。它修改了與大型語言模型 (LLM) 的互動方式,使模型能夠參考一組指定的文件來響應使用者查詢,並利用這些資訊來補充其預先存在的訓練資料中的資訊。這使得 LLM 能夠使用領域特定和/或更新的資訊。用例包括為聊天機器人提供訪問內部公司資料的能力,或基於權威來源生成響應。

以下是整合

vLLM + langchain

先決條件

設定 vLLM 和 langchain 環境

pip install -U vllm \
            langchain_milvus langchain_openai \
            langchain_community beautifulsoup4 \
            langchain-text-splitters

部署

  1. 使用支援的嵌入模型啟動 vLLM 伺服器,例如:

    # Start embedding service (port 8000)
    vllm serve ssmits/Qwen2-7B-Instruct-embed-base
    
  2. 啟動支援聊天完成模型的 vLLM 伺服器,例如

    # Start chat service (port 8001)
    vllm serve qwen/Qwen1.5-0.5B-Chat --port 8001
    
  3. 使用指令碼: examples/online_serving/retrieval_augmented_generation_with_langchain.py

  4. 執行指令碼

    python retrieval_augmented_generation_with_langchain.py
    

vLLM + llamaindex

先決條件

設定 vLLM 和 llamaindex 環境

pip install vllm \
            llama-index llama-index-readers-web \
            llama-index-llms-openai-like    \
            llama-index-embeddings-openai-like \
            llama-index-vector-stores-milvus \

部署

  1. 使用支援的嵌入模型啟動 vLLM 伺服器,例如:

    # Start embedding service (port 8000)
    vllm serve ssmits/Qwen2-7B-Instruct-embed-base
    
  2. 啟動支援聊天完成模型的 vLLM 伺服器,例如

    # Start chat service (port 8001)
    vllm serve qwen/Qwen1.5-0.5B-Chat --port 8001
    
  3. 使用指令碼: examples/online_serving/retrieval_augmented_generation_with_llamaindex.py

  4. 執行指令碼

    python retrieval_augmented_generation_with_llamaindex.py