跳到内容

检索增强生成

检索增强生成 (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