340 lines
8.9 KiB
Markdown
340 lines
8.9 KiB
Markdown
# Model Reference
|
|
|
|
## Supported Foundation Models
|
|
|
|
### Amazon Models
|
|
|
|
#### Amazon Titan Text
|
|
|
|
**Model ID:** `amazon.titan-text-express-v1`
|
|
- **Description:** High-quality text generation model
|
|
- **Context Window:** Up to 8K tokens
|
|
- **Languages:** English, Spanish, French, German, Italian, Portuguese
|
|
|
|
**Payload Format:**
|
|
```json
|
|
{
|
|
"inputText": "Your prompt here",
|
|
"textGenerationConfig": {
|
|
"maxTokenCount": 512,
|
|
"temperature": 0.7,
|
|
"topP": 0.9
|
|
}
|
|
}
|
|
```
|
|
|
|
**Response Format:**
|
|
```json
|
|
{
|
|
"results": [{
|
|
"outputText": "Generated text"
|
|
}]
|
|
}
|
|
```
|
|
|
|
#### Amazon Titan Text Lite
|
|
|
|
**Model ID:** `amazon.titan-text-lite-v1`
|
|
- **Description:** Cost-effective text generation model
|
|
- **Context Window:** Up to 4K tokens
|
|
- **Use Case:** Simple text generation tasks
|
|
|
|
#### Amazon Titan Embeddings
|
|
|
|
**Model ID:** `amazon.titan-embed-text-v1`
|
|
- **Description:** High-quality text embeddings
|
|
- **Context Window:** 8K tokens
|
|
- **Output:** 1024-dimensional vector
|
|
|
|
**Payload Format:**
|
|
```json
|
|
{
|
|
"inputText": "Your text here"
|
|
}
|
|
```
|
|
|
|
**Response Format:**
|
|
```json
|
|
{
|
|
"embedding": [0.1, -0.2, 0.3, ...]
|
|
}
|
|
```
|
|
|
|
#### Amazon Titan Image Generator
|
|
|
|
**Model ID:** `amazon.titan-image-generator-v1`
|
|
- **Description:** High-quality image generation
|
|
- **Image Size:** 512x512, 1024x1024
|
|
- **Use Case:** Text-to-image generation
|
|
|
|
**Payload Format:**
|
|
```json
|
|
{
|
|
"taskType": "TEXT_IMAGE",
|
|
"textToImageParams": {
|
|
"text": "Your description"
|
|
},
|
|
"imageGenerationConfig": {
|
|
"numberOfImages": 1,
|
|
"quality": "standard",
|
|
"cfgScale": 8.0,
|
|
"height": 512,
|
|
"width": 512,
|
|
"seed": 12345
|
|
}
|
|
}
|
|
```
|
|
|
|
### Anthropic Models
|
|
|
|
#### Claude 3.5 Sonnet
|
|
|
|
**Model ID:** `anthropic.claude-3-5-sonnet-20241022-v2:0`
|
|
- **Description:** High-performance model for complex reasoning, analysis, and creative tasks
|
|
- **Context Window:** 200K tokens
|
|
- **Languages:** Multiple languages supported
|
|
- **Use Case:** Code generation, complex analysis, creative writing, research
|
|
- **Features:** Tool use, function calling, JSON mode
|
|
|
|
**Payload Format:**
|
|
```json
|
|
{
|
|
"anthropic_version": "bedrock-2023-05-31",
|
|
"max_tokens": 1000,
|
|
"messages": [{
|
|
"role": "user",
|
|
"content": "Your message"
|
|
}]
|
|
}
|
|
```
|
|
|
|
**Response Format:**
|
|
```json
|
|
{
|
|
"content": [{
|
|
"text": "Response content"
|
|
}],
|
|
"usage": {
|
|
"input_tokens": 10,
|
|
"output_tokens": 20
|
|
}
|
|
}
|
|
```
|
|
|
|
#### Claude 3.5 Haiku
|
|
|
|
**Model ID:** `anthropic.claude-3-5-haiku-20241022-v2:0`
|
|
- **Description:** Fast and affordable model for real-time applications
|
|
- **Context Window:** 200K tokens
|
|
- **Use Case:** Real-time applications, chatbots, quick responses
|
|
- **Features:** Tool use, function calling, JSON mode
|
|
|
|
#### Claude 3 Opus
|
|
|
|
**Model ID:** `anthropic.claude-3-opus-20240229-v1:0`
|
|
- **Description:** Most capable model
|
|
- **Context Window:** 200K tokens
|
|
- **Use Case:** Complex reasoning, analysis
|
|
|
|
#### Claude 3 Sonnet (Legacy)
|
|
|
|
**Model ID:** `anthropic.claude-3-sonnet-20240229-v1:0`
|
|
- **Description:** Previous generation model
|
|
- **Context Window:** 200K tokens
|
|
- **Use Case:** General purpose applications
|
|
|
|
### Meta Models
|
|
|
|
#### Llama 3.1 70B
|
|
|
|
**Model ID:** `meta.llama3-1-70b-instruct-v1:0`
|
|
- **Description:** Latest generation large open-source model
|
|
- **Context Window:** 128K tokens
|
|
- **Use Case:** General purpose instruction following, complex reasoning
|
|
- **Features:** Improved instruction following, larger context window
|
|
|
|
#### Llama 3.1 8B
|
|
|
|
**Model ID:** `meta.llama3-1-8b-instruct-v1:0`
|
|
- **Description:** Latest generation small fast model
|
|
- **Context Window:** 8K tokens
|
|
- **Use Case:** Fast inference, lightweight applications
|
|
|
|
#### Llama 3 70B
|
|
|
|
**Model ID:** `meta.llama3-70b-instruct-v1:0`
|
|
- **Description:** Previous generation large open-source model
|
|
- **Context Window:** 8K tokens
|
|
- **Use Case:** General purpose instruction following
|
|
|
|
**Payload Format:**
|
|
```json
|
|
{
|
|
"prompt": "[INST] Your prompt here [/INST]",
|
|
"max_gen_len": 512,
|
|
"temperature": 0.7,
|
|
"top_p": 0.9
|
|
}
|
|
```
|
|
|
|
**Response Format:**
|
|
```json
|
|
{
|
|
"generation": "Generated text"
|
|
}
|
|
```
|
|
|
|
#### Llama 3 8B
|
|
|
|
**Model ID:** `meta.llama3-8b-instruct-v1:0`
|
|
- **Description:** Smaller, faster version
|
|
- **Context Window:** 8K tokens
|
|
- **Use Case:** Fast inference, lightweight applications
|
|
|
|
### Stability AI Models
|
|
|
|
#### Stable Diffusion XL
|
|
|
|
**Model ID:** `stability.stable-diffusion-xl-v1`
|
|
- **Description:** High-quality image generation
|
|
- **Image Size:** Up to 1024x1024
|
|
- **Use Case:** Text-to-image generation, art creation
|
|
|
|
**Payload Format:**
|
|
```json
|
|
{
|
|
"text_prompts": [{
|
|
"text": "Your description"
|
|
}],
|
|
"style_preset": "photographic",
|
|
"seed": 12345,
|
|
"cfg_scale": 10,
|
|
"steps": 50
|
|
}
|
|
```
|
|
|
|
**Response Format:**
|
|
```json
|
|
{
|
|
"artifacts": [{
|
|
"base64": "base64-encoded-image-data",
|
|
"finishReason": "SUCCESS"
|
|
}]
|
|
}
|
|
```
|
|
|
|
### Other Models
|
|
|
|
#### Cohere Command
|
|
|
|
**Model ID:** `cohere.command-text-v14`
|
|
- **Description:** Text generation model
|
|
- **Context Window:** 128K tokens
|
|
- **Use Case:** Content generation, summarization
|
|
|
|
#### Mistral Models
|
|
|
|
**Model ID:** `mistral.mistral-7b-instruct-v0:2`
|
|
- **Description:** High-performing open-source model
|
|
- **Context Window:** 32K tokens
|
|
- **Use Case:** Instruction following, code generation
|
|
|
|
**Model ID:** `mistral.mixtral-8x7b-instruct-v0:1`
|
|
- **Description:** Mixture of experts model
|
|
- **Context Window:** 32K tokens
|
|
- **Use Case:** Complex reasoning tasks
|
|
|
|
## Model Selection Guide
|
|
|
|
### Use Case Recommendations
|
|
|
|
| Use Case | Recommended Models | Notes |
|
|
|----------|-------------------|-------|
|
|
| **General Chat/Chatbots** | Claude 3.5 Haiku, Llama 3 8B | Fast response times |
|
|
| **Content Creation** | Claude 3.5 Sonnet, Cohere | Creative, coherent outputs |
|
|
| **Code Generation** | Claude 3.5 Sonnet, Llama 3.1 70B | Excellent understanding |
|
|
| **Analysis & Reasoning** | Claude 3 Opus, Claude 3.5 Sonnet | Complex reasoning |
|
|
| **Real-time Applications** | Claude 3.5 Haiku, Titan Lite | Fast inference |
|
|
| **Cost-sensitive Apps** | Titan Lite, Claude 3.5 Haiku | Lower cost per token |
|
|
| **High Quality** | Claude 3 Opus, Claude 3.5 Sonnet | Premium quality |
|
|
|
|
### Performance Characteristics
|
|
|
|
| Model | Speed | Cost | Quality | Context Window |
|
|
|-------|-------|------|---------|----------------|
|
|
| Claude 3 Opus | Slow | High | Excellent | 200K |
|
|
| Claude 3.5 Sonnet | Medium | Medium | Excellent | 200K |
|
|
| Claude 3.5 Haiku | Fast | Low | Good | 200K |
|
|
| Claude 3 Sonnet (Legacy) | Medium | Medium | Good | 200K |
|
|
| Llama 3.1 70B | Medium | Medium | Good | 128K |
|
|
| Llama 3.1 8B | Fast | Low | Fair | 8K |
|
|
| Llama 3 70B | Medium | Medium | Good | 8K |
|
|
| Llama 3 8B | Fast | Low | Fair | 8K |
|
|
| Titan Express | Fast | Medium | Good | 8K |
|
|
| Titan Lite | Fast | Low | Fair | 4K |
|
|
|
|
## Model Comparison Matrix
|
|
|
|
| Feature | Claude 3 | Llama 3 | Titan | Stability |
|
|
|---------|----------|---------|-------|-----------|
|
|
| **Streaming** | ✅ | ✅ | ✅ | ❌ |
|
|
| **Tool Use** | ✅ | ❌ | ❌ | ❌ |
|
|
| **Image Generation** | ❌ | ❌ | ✅ | ✅ |
|
|
| **Embeddings** | ❌ | ❌ | ✅ | ❌ |
|
|
| **Multiple Languages** | ✅ | ✅ | ✅ | ✅ |
|
|
| **Context Window** | 200K | 8K | 8K | N/A |
|
|
| **Open Source** | ❌ | ✅ | ❌ | ✅ |
|
|
|
|
## Model Configuration Templates
|
|
|
|
### Text Generation Template
|
|
```java
|
|
private static JSONObject createTextGenerationPayload(String modelId, String prompt) {
|
|
JSONObject payload = new JSONObject();
|
|
|
|
if (modelId.startsWith("anthropic.claude")) {
|
|
payload.put("anthropic_version", "bedrock-2023-05-31");
|
|
payload.put("max_tokens", 1000);
|
|
payload.put("messages", new JSONObject[]{new JSONObject()
|
|
.put("role", "user")
|
|
.put("content", prompt)
|
|
});
|
|
} else if (modelId.startsWith("meta.llama")) {
|
|
payload.put("prompt", "[INST] " + prompt + " [/INST]");
|
|
payload.put("max_gen_len", 512);
|
|
} else if (modelId.startsWith("amazon.titan")) {
|
|
payload.put("inputText", prompt);
|
|
payload.put("textGenerationConfig", new JSONObject()
|
|
.put("maxTokenCount", 512)
|
|
.put("temperature", 0.7)
|
|
);
|
|
}
|
|
|
|
return payload;
|
|
}
|
|
```
|
|
|
|
### Image Generation Template
|
|
```java
|
|
private static JSONObject createImageGenerationPayload(String modelId, String prompt) {
|
|
JSONObject payload = new JSONObject();
|
|
|
|
if (modelId.equals("amazon.titan-image-generator-v1")) {
|
|
payload.put("taskType", "TEXT_IMAGE");
|
|
payload.put("textToImageParams", new JSONObject().put("text", prompt));
|
|
payload.put("imageGenerationConfig", new JSONObject()
|
|
.put("numberOfImages", 1)
|
|
.put("quality", "standard")
|
|
.put("height", 512)
|
|
.put("width", 512)
|
|
);
|
|
} else if (modelId.equals("stability.stable-diffusion-xl-v1")) {
|
|
payload.put("text_prompts", new JSONObject[]{new JSONObject().put("text", prompt)});
|
|
payload.put("style_preset", "photographic");
|
|
payload.put("steps", 50);
|
|
payload.put("cfg_scale", 10);
|
|
}
|
|
|
|
return payload;
|
|
}
|
|
``` |