diff --git a/backend/config/init_config.yaml.copy b/backend/config/init_config.yaml.copy index ada1738..5806098 100644 --- a/backend/config/init_config.yaml.copy +++ b/backend/config/init_config.yaml.copy @@ -18,7 +18,7 @@ LLM_MODELS: EMBEDDING_MODELS: # OpenAI Embedding model - name: "text-embedding-ada-002" # Model name - deployment_type: "cloud" # Deployment type: cloud or local + deployment_type: "cloud" # Deployment type: cloud or cloud-aliyun or local category: "embedding" # Model category api_base: "https://api.openai.com/v1" # API base URL api_key: "your-openai-api-key" # Replace with your actual API key diff --git a/backend/llm_model/embeddings.py b/backend/llm_model/embeddings.py index d7c24fc..86a9d0b 100644 --- a/backend/llm_model/embeddings.py +++ b/backend/llm_model/embeddings.py @@ -2,6 +2,7 @@ from typing import List, Union, Optional, Dict from langchain_openai import OpenAIEmbeddings from langchain_community.embeddings.huggingface import HuggingFaceEmbeddings +from langchain_community.embeddings import DashScopeEmbeddings from tenacity import retry, stop_after_attempt, wait_random_exponential from models import LLMModel @@ -93,6 +94,13 @@ def load_embedding(self, model_config: dict): openai_api_key=model_config['api_key'], openai_api_base=model_config['api_base'] ) + elif model_config["deployment_type"] == "cloud-aliyun": + # Cloud model (Aliyun) + # Ref: https://help.aliyun.com/zh/model-studio/use-bailian-in-langchain + embedding = DashScopeEmbeddings( + model=model_config["name"], + dashscope_api_key=model_config["api_key"], + ) else: import torch # Determine device