content: package ai.llmchat.common.langchain.enums;
  
  import ai.llmchat.common.core.enums.BaseEnum;
  import lombok.Getter;
  
  import java.util.Objects;
  
  @Getter
  public enum ModelProviderEnum implements BaseEnum<Integer> {
  
  	AZURE_OPEN_AI(1, "Azure OpenAI", "azure_openai.svg"), CHAT_GLM(2, "ChatGLM", "chat_glm.svg"),
  	HUGGING_FACE(3, "Hugging Face", "huggingface.svg"), LOCAL_AI(4, "LocalAI", "localai.svg"),
  	OLLAMA(5, "Ollama", "ollama.svg"), OPEN_AI(6, "OpenAI", "openai.svg"), QIAN_FAN(7, "千帆大模型", "qianfan.png"),
  	QWEN(8, "通义千问", "qwen.png"), ZHIPU_AI(9, "智谱AI", "zhipuai.svg"), XINFERENCE(10, "Xinference", "xinference.svg"),;
  
  	private final Integer code;
  
  	private final String message;
  
  	private final String icon;
  
  	ModelProviderEnum(Integer code, String message, String icon) {
  		this.code = code;
  		this.message = message;
  		this.icon = icon;
  	}
  
  	public static ModelProviderEnum valueOf(Integer value) {
  		for (ModelProviderEnum item : values()) {
  			if (Objects.equals(value, item.getCode())) {
  				return item;
  			}
  		}
  		throw new IllegalArgumentException("No enum constant with code " + value);
  	}
  
  }
  