Initial commit
This commit is contained in:
@@ -0,0 +1,340 @@
|
||||
# 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;
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user