|
| 1 | +package com.sap.ai.sdk.orchestration; |
| 2 | + |
| 3 | +import com.sap.ai.sdk.orchestration.client.model.LLMModuleConfig; |
| 4 | +import java.util.Map; |
| 5 | +import javax.annotation.Nonnull; |
| 6 | + |
| 7 | +/** Large language models available in Orchestration. */ |
| 8 | +// https://help.sap.com/docs/sap-ai-core/sap-ai-core-service-guide/models-and-scenarios-in-generative-ai-hub |
| 9 | +@SuppressWarnings("unused") // tested in OrchestrationTest.orchestrationModelAvailability() |
| 10 | +public class OrchestrationAiModel extends LLMModuleConfig { |
| 11 | + |
| 12 | + /** IBM Granite 13B chat completions model */ |
| 13 | + public static final OrchestrationAiModel IBM_GRANITE_13B_CHAT = |
| 14 | + new OrchestrationAiModel("ibm--granite-13b-chat"); |
| 15 | + |
| 16 | + /** MistralAI Mistral Large Instruct model */ |
| 17 | + public static final OrchestrationAiModel MISTRAL_LARGE_INSTRUCT = |
| 18 | + new OrchestrationAiModel("mistralai--mistral-large-instruct"); |
| 19 | + |
| 20 | + /** MistralAI Mixtral 8x7B Instruct v01 model */ |
| 21 | + public static final OrchestrationAiModel MIXTRAL_8X7B_INSTRUCT_V01 = |
| 22 | + new OrchestrationAiModel("mistralai--mixtral-8x7b-instruct-v01"); |
| 23 | + |
| 24 | + /** Meta Llama3 70B Instruct model */ |
| 25 | + public static final OrchestrationAiModel LLAMA3_70B_INSTRUCT = |
| 26 | + new OrchestrationAiModel("meta--llama3-70b-instruct"); |
| 27 | + |
| 28 | + /** Meta Llama3.1 70B Instruct model */ |
| 29 | + public static final OrchestrationAiModel LLAMA3_1_70B_INSTRUCT = |
| 30 | + new OrchestrationAiModel("meta--llama3.1-70b-instruct"); |
| 31 | + |
| 32 | + /** Anthropic Claude 3 Sonnet model */ |
| 33 | + public static final OrchestrationAiModel CLAUDE_3_SONNET = |
| 34 | + new OrchestrationAiModel("anthropic--claude-3-sonnet"); |
| 35 | + |
| 36 | + /** Anthropic Claude 3 Haiku model */ |
| 37 | + public static final OrchestrationAiModel CLAUDE_3_HAIKU = |
| 38 | + new OrchestrationAiModel("anthropic--claude-3-haiku"); |
| 39 | + |
| 40 | + /** Anthropic Claude 3 Opus model */ |
| 41 | + public static final OrchestrationAiModel CLAUDE_3_OPUS = |
| 42 | + new OrchestrationAiModel("anthropic--claude-3-opus"); |
| 43 | + |
| 44 | + /** Anthropic Claude 3.5 Sonnet model */ |
| 45 | + public static final OrchestrationAiModel CLAUDE_3_5_SONNET = |
| 46 | + new OrchestrationAiModel("anthropic--claude-3.5-sonnet"); |
| 47 | + |
| 48 | + /** Amazon Titan Embed Text model */ |
| 49 | + public static final OrchestrationAiModel TITAN_EMBED_TEXT = |
| 50 | + new OrchestrationAiModel("amazon--titan-embed-text"); |
| 51 | + |
| 52 | + /** Amazon Titan Text Lite model */ |
| 53 | + public static final OrchestrationAiModel TITAN_TEXT_LITE = |
| 54 | + new OrchestrationAiModel("amazon--titan-text-lite"); |
| 55 | + |
| 56 | + /** Amazon Titan Text Express model */ |
| 57 | + public static final OrchestrationAiModel TITAN_TEXT_EXPRESS = |
| 58 | + new OrchestrationAiModel("amazon--titan-text-express"); |
| 59 | + |
| 60 | + /** Azure OpenAI GPT-3.5 Turbo chat completions model */ |
| 61 | + public static final OrchestrationAiModel GPT_35_TURBO = new OrchestrationAiModel("gpt-35-turbo"); |
| 62 | + |
| 63 | + /** Azure OpenAI GPT-3.5 Turbo chat completions model */ |
| 64 | + public static final OrchestrationAiModel GPT_35_TURBO_16K = |
| 65 | + new OrchestrationAiModel("gpt-35-turbo-16k"); |
| 66 | + |
| 67 | + /** Azure OpenAI GPT-4 chat completions model */ |
| 68 | + public static final OrchestrationAiModel GPT_4 = new OrchestrationAiModel("gpt-4"); |
| 69 | + |
| 70 | + /** Azure OpenAI GPT-4-32k chat completions model */ |
| 71 | + public static final OrchestrationAiModel GPT_4_32K = new OrchestrationAiModel("gpt-4-32k"); |
| 72 | + |
| 73 | + /** Azure OpenAI Text Embedding Ada 002 model */ |
| 74 | + public static final OrchestrationAiModel TEXT_EMBEDDING_ADA_002 = |
| 75 | + new OrchestrationAiModel("text-embedding-ada-002"); |
| 76 | + |
| 77 | + /** Azure OpenAI Text Embedding 3 Small model */ |
| 78 | + public static final OrchestrationAiModel TEXT_EMBEDDING_3_SMALL = |
| 79 | + new OrchestrationAiModel("text-embedding-3-small"); |
| 80 | + |
| 81 | + /** Azure OpenAI Text Embedding 3 Large model */ |
| 82 | + public static final OrchestrationAiModel TEXT_EMBEDDING_3_LARGE = |
| 83 | + new OrchestrationAiModel("text-embedding-3-large"); |
| 84 | + |
| 85 | + /** Azure OpenAI GPT-4o chat completions model */ |
| 86 | + public static final OrchestrationAiModel GPT_4O = new OrchestrationAiModel("gpt-4o"); |
| 87 | + |
| 88 | + /** Azure OpenAI GPT-4o-mini chat completions model */ |
| 89 | + public static final OrchestrationAiModel GPT_4O_MINI = new OrchestrationAiModel("gpt-4o-mini"); |
| 90 | + |
| 91 | + /** Google Cloud Platform Text Bison model */ |
| 92 | + public static final OrchestrationAiModel TEXT_BISON = new OrchestrationAiModel("text-bison"); |
| 93 | + |
| 94 | + /** Google Cloud Platform Chat Bison model */ |
| 95 | + public static final OrchestrationAiModel CHAT_BISON = new OrchestrationAiModel("chat-bison"); |
| 96 | + |
| 97 | + /** Google Cloud Platform Text Embedding Gecko model */ |
| 98 | + public static final OrchestrationAiModel TEXT_EMBEDDING_GECKO = |
| 99 | + new OrchestrationAiModel("textembedding-gecko"); |
| 100 | + |
| 101 | + /** Google Cloud Platform Text Embedding Gecko Multilingual model */ |
| 102 | + public static final OrchestrationAiModel TEXT_EMBEDDING_GECKO_MULTILINGUAL = |
| 103 | + new OrchestrationAiModel("textembedding-gecko-multilingual"); |
| 104 | + |
| 105 | + /** Google Cloud Platform Gemini 1.0 Pro model */ |
| 106 | + public static final OrchestrationAiModel GEMINI_1_0_PRO = |
| 107 | + new OrchestrationAiModel("gemini-1.0-pro"); |
| 108 | + |
| 109 | + /** Google Cloud Platform Gemini 1.5 Pro model */ |
| 110 | + public static final OrchestrationAiModel GEMINI_1_5_PRO = |
| 111 | + new OrchestrationAiModel("gemini-1.5-pro"); |
| 112 | + |
| 113 | + /** Google Cloud Platform Gemini 1.5 Flash model */ |
| 114 | + public static final OrchestrationAiModel GEMINI_1_5_FLASH = |
| 115 | + new OrchestrationAiModel("gemini-1.5-flash"); |
| 116 | + |
| 117 | + OrchestrationAiModel(@Nonnull final String modelName) { |
| 118 | + setModelName(modelName); |
| 119 | + setModelParams(Map.of()); |
| 120 | + } |
| 121 | +} |
0 commit comments