有没有modelscope做rag的case?
是的,ModelScope(魔搭)可以用于构建基于RAG(检索增强生成)的应用案例。以下是具体的实现方式和步骤,基于提供的知识库资料进行说明:
在基于本地知识库构建RAG应用的过程中,ModelScope提供了预训练的嵌入模型,可以直接用于生成文本向量并支持RAG系统的检索功能。以下是一个具体案例的实现步骤:
可以通过modelscope
命令下载通义实验室提供的GTE文本向量-中文-通用领域-large模型。例如: - macOS/Linux系统:
modelscope download -model 'iic/nlp_gte_sentence-embedding_chinese-large' -local_dir 'modelscope/iic/nlp_gte_sentence-embedding_chinese-large'
modelscope download -model iic/nlp_gte_sentence-embedding_chinese-large -local_dir modelscope/iic/nlp_gte_sentence-embedding_chinese-large
注意:如果使用Windows系统且缺少Microsoft Visual C++ Redistributable包,请前往相关页面下载安装。
在代码中启用本地部署的嵌入模型,需要对chat.py
和create_kb.py
文件进行修改,取消注释以下部分:
from langchain_community.embeddings import ModelScopeEmbeddings
from llama_index.embeddings.langchain import LangchainEmbedding
embeddings = ModelScopeEmbeddings(model_id="modelscope/iic/nlp_gte_sentence-embedding_chinese-large")
EMBED_MODEL = LangchainEmbedding(embeddings)
这一步将嵌入模型从默认的百炼API切换为本地部署的ModelScope模型。
完成上述配置后,在local_rag
目录下运行以下命令启动应用:
uvicorn main:app --port 7866
启动成功后,访问http://127.0.0.1:7866
即可进入RAG应用的网页界面。
除了本地部署,ModelScope还可以与阿里云的人工智能平台PAI-EAS结合,用于更复杂的RAG系统搭建。以下是关键步骤:
通过PAI-EAS,您可以一键拉起ModelScope模型服务。例如,支持以下部署方式: - ComfyUI部署 - Stable Diffusion WebUI部署 - ModelScope模型部署 - HuggingFace模型部署
RAG系统通常需要结合向量检索库(如Milvus、Elasticsearch或OpenSearch)来存储和检索知识库中的向量数据。以Milvus为例: 1. 登录阿里云Milvus控制台,开启公网访问。 2. 使用Attu管理页面创建和管理Collection。 3. 将ModelScope生成的文本向量存储到Milvus中,并配置检索参数。
部署完成后,您可以通过PAI-EAS的在线调试页面发送请求。请求参数中的Key需与应用流输入节点中的字段一致(默认为question
)。
ModelScope结合RAG技术的实际应用案例包括金融和医疗领域的任务分析。例如: - 金融领域: - 投资风险分析:根据最新新闻报道分析美国科技行业的投资风险。 - 行业趋势分析:判断房地产相关行业是否乐观。 - 医疗领域: - 基于最新的医学文献,回答特定疾病的治疗方案。
这些场景中,RAG技术通过结合ModelScope的嵌入模型和外部知识库,显著提升了大模型的回答准确性和专业性。
pip install -r requirements.txt
时,若计划使用本地嵌入模型,请取消requirements.txt
中的注释部分。DLL load failed
错误,请额外运行pip install msvc-runtime
。通过以上步骤,您可以成功使用ModelScope构建基于RAG的应用,并将其应用于多种实际场景中。