Skip to content

Commit

Permalink
added first batch of suppliers
Browse files Browse the repository at this point in the history
  • Loading branch information
finn committed Apr 21, 2024
1 parent 6057594 commit 762a271
Show file tree
Hide file tree
Showing 23 changed files with 504 additions and 0 deletions.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

LLM & AI Model Compare is a contributor-driven platform for comparing language models and AI technologies across various suppliers. Built with Svelte, it provides an interactive way to explore and understand the differences in cost, speed, and quality of AI models.

## Suppliers
- [x] OpenAI: [docs](https://platform.openai.com/docs/overview)
- [ ] Google: [docs](https://cloud.google.com/products/ai)
- [ ] Anthropic: [docs](https://www.anthropic.com/)
- [ ] Cohere: [docs](https://docs.cohere.ai/)
- [ ] Microsoft: [docs](https://docs.microsoft.com/en-us/azure/cognitive-services/)
- [ ] Anyscale: [docs](https://docs.anyscale.com/)
- [ ] Groq: [docs](https://groq.com/product/)
- [ ] Mistral: [docs](https://docs.mistral.ai/)

## Project Structure

- **`/data`**: Contains supplier directories and model details.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
const model = {
id: 'Model_1',
model: 'Model_1',
supplier: 'Supplier_1',
source: 'https://URL',
cost: {
currency: 'USD',
Expand Down
7 changes: 7 additions & 0 deletions src/data/suppliers/_example/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const supplier = {
id: 'supplier_1',
name: 'Supplier 1',
docs: 'https://URL'
};

export default async () => supplier;
32 changes: 32 additions & 0 deletions src/data/suppliers/anthropic/claude-3-haiku.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const claude3Haiku = {
id: 'claude-3-haiku-20240307',
name: 'Claude 3 Haiku',
modelCard:
'https://www-cdn.anthropic.com/de8ba9b01c9ab7cbabf5c33b80b7bbc618857627/Model_Card_Claude_3.pdf',
supplier: {
id: 'anthropic',
docs: 'https://docs.anthropic.com/'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 0.25,
per_million_tokens_output: 1.25
},
speed: {
tokens_per_second: 89.1,
latency_first_token_ms: 340
},
technical: {
token_window: 200000
}
};

claude3Haiku.cost['per_million_tokens_blend_3_1'] =
(claude3Haiku.cost['per_million_tokens_input'] * 3 +
claude3Haiku.cost['per_million_tokens_output']) /
4;

export default async () => claude3Haiku;
32 changes: 32 additions & 0 deletions src/data/suppliers/anthropic/claude-3-opus.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const claude3Opus = {
id: 'claude-3-opus-20240229',
name: 'Claude 3 Opus',
modelCard:
'https://www-cdn.anthropic.com/de8ba9b01c9ab7cbabf5c33b80b7bbc618857627/Model_Card_Claude_3.pdf',
supplier: {
id: 'anthropic',
docs: 'https://docs.anthropic.com/'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 15.0,
per_million_tokens_output: 75.0
},
speed: {
tokens_per_second: 26.6,
latency_first_token_ms: 1390
},
technical: {
token_window: 200000
}
};

claude3Opus.cost['per_million_tokens_blend_3_1'] =
(claude3Opus.cost['per_million_tokens_input'] * 3 +
claude3Opus.cost['per_million_tokens_output']) /
4;

export default async () => claude3Opus;
32 changes: 32 additions & 0 deletions src/data/suppliers/anthropic/claude-3-sonnet.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
const claude3Sonnet = {
id: 'claude-3-sonnet-20240229',
name: 'Claude 3 Sonnet',
modelCard:
'https://www-cdn.anthropic.com/de8ba9b01c9ab7cbabf5c33b80b7bbc618857627/Model_Card_Claude_3.pdf',
supplier: {
id: 'anthropic',
docs: 'https://docs.anthropic.com/'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 3.0,
per_million_tokens_output: 15.0
},
speed: {
tokens_per_second: 58.8,
latency_first_token_ms: 420
},
technical: {
token_window: 200000
}
};

claude3Sonnet.cost['per_million_tokens_blend_3_1'] =
(claude3Sonnet.cost['per_million_tokens_input'] * 3 +
claude3Sonnet.cost['per_million_tokens_output']) /
4;

export default async () => claude3Sonnet;
7 changes: 7 additions & 0 deletions src/data/suppliers/anthropic/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const anthropic = {
id: 'anthropic',
name: 'Anthropic',
docs: 'https://docs.anthropic.com/'
};

export default async () => anthropic;
29 changes: 29 additions & 0 deletions src/data/suppliers/groq/gemma_7b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
const gemma7B = {
id: 'gemma-7b',
name: 'Gemma 7B',
modelCard: 'https://huggingface.co/google/gemma-1.1-7b-it',
supplier: {
id: 'groq',
docs: 'https://console.groq.com/docs/models'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 0.1,
per_million_tokens_output: 0.1
},
speed: {
tokens_per_second: 825.4,
latency_first_token_ms: 330
},
technical: {
token_window: 8192
}
};

gemma7B.cost['per_million_tokens_blend_3_1'] =
(gemma7B.cost['per_million_tokens_input'] * 3 + gemma7B.cost['per_million_tokens_output']) / 4;

export default async () => gemma7B;
7 changes: 7 additions & 0 deletions src/data/suppliers/groq/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const groq = {
id: 'groq',
name: 'Groq',
docs: 'https://console.groq.com/docs/models'
};

export default async () => groq;
30 changes: 30 additions & 0 deletions src/data/suppliers/groq/llama_3_70b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
const llama3_70B = {
id: 'llama3-70b-8192',
name: 'LLaMA 3 (70B)',
modelCard: 'https://huggingface.co/meta-llama/Meta-Llama-3-70B',
supplier: {
id: 'groq',
docs: 'https://console.groq.com/docs/models'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 0.59,
per_million_tokens_output: 0.79
},
speed: {
tokens_per_second: 274.7,
latency_first_token_ms: 290
},
technical: {
token_window: 8192
}
};

llama3_70B.cost['per_million_tokens_blend_3_1'] =
(llama3_70B.cost['per_million_tokens_input'] * 3 + llama3_70B.cost['per_million_tokens_output']) /
4;

export default async () => llama3_70B;
30 changes: 30 additions & 0 deletions src/data/suppliers/groq/llama_3_8b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
const llama3_8B = {
id: 'llama3-8b-8192',
name: 'LLaMA 3 (8B)',
modelCard: 'https://huggingface.co/meta-llama/Meta-Llama-3-8B',
supplier: {
id: 'groq',
docs: 'https://console.groq.com/docs/models'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 0.05,
per_million_tokens_output: 0.1
},
speed: {
tokens_per_second: 867.2,
latency_first_token_ms: 300
},
technical: {
token_window: 8192
}
};

llama3_8B.cost['per_million_tokens_blend_3_1'] =
(llama3_8B.cost['per_million_tokens_input'] * 3 + llama3_8B.cost['per_million_tokens_output']) /
4;

export default async () => llama3_8B;
31 changes: 31 additions & 0 deletions src/data/suppliers/groq/mistral_8x7b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const mixtral8x7B = {
id: 'mixtral-8x7b-32768',
name: 'Mixtral 8x7B',
modelCard: 'https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1',
supplier: {
id: 'groq',
docs: 'https://console.groq.com/docs/models'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 0.27,
per_million_tokens_output: 0.27
},
speed: {
tokens_per_second: 471.6,
latency_first_token_ms: 310
},
technical: {
token_window: 32768
}
};

mixtral8x7B.cost['per_million_tokens_blend_3_1'] =
(mixtral8x7B.cost['per_million_tokens_input'] * 3 +
mixtral8x7B.cost['per_million_tokens_output']) /
4;

export default async () => mixtral8x7B;
31 changes: 31 additions & 0 deletions src/data/suppliers/mistral/8x22b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const mistral8x22B = {
id: 'mistral_8x22b',
name: 'Mistral 8x22B',
modelCard: 'https://huggingface.co/mistralai/Mixtral-8x22B-v0.1',
supplier: {
id: 'mistral',
docs: 'https://docs.mistral.ai/api/'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 2.0,
per_million_tokens_output: 6.0
},
speed: {
tokens_per_second: 77.2,
latency_first_token_ms: 220
},
technical: {
token_window: 64000
}
};

mistral8x22B.cost['per_million_tokens_blend_3_1'] =
(mistral8x22B.cost['per_million_tokens_input'] * 3 +
mistral8x22B.cost['per_million_tokens_output']) /
4;

export default async () => mistral8x22B;
31 changes: 31 additions & 0 deletions src/data/suppliers/mistral/8x7b.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
const mistral8x7B = {
id: 'mistral_8x7b',
name: 'Mistral 8x7B',
modelCard: 'https://huggingface.co/mistralai/Mixtral-8x7B-v0.1',
supplier: {
id: 'mistral',
docs: 'https://docs.mistral.ai/api/'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 0.7,
per_million_tokens_output: 0.7
},
speed: {
tokens_per_second: 45.3,
latency_first_token_ms: 250
},
technical: {
token_window: 32000
}
};

mistral8x7B.cost['per_million_tokens_blend_3_1'] =
(mistral8x7B.cost['per_million_tokens_input'] * 3 +
mistral8x7B.cost['per_million_tokens_output']) /
4;

export default async () => mistral8x7B;
7 changes: 7 additions & 0 deletions src/data/suppliers/mistral/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const mistral = {
id: 'mistral',
name: 'Mistral',
docs: 'https://docs.mistral.ai/api/'
};

export default async () => mistral;
29 changes: 29 additions & 0 deletions src/data/suppliers/openai/gpt-3_5_turbo.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
const gpt35Turbo = {
id: 'gpt-3.5_turbo',
name: 'GPT-3.5 Turbo',
supplier: {
id: 'openai',
docs: 'https://platform.openai.com/docs/models'
},
meta: {
active: true
},
cost: {
currency: 'USD',
per_million_tokens_input: 0.5,
per_million_tokens_output: 1.5
},
speed: {
tokens_per_second: 71.4,
latency_first_token_ms: 380
},
technical: {
token_window: 16000
}
};

gpt35Turbo.cost['per_million_tokens_blend_3_1'] =
(gpt35Turbo.cost['per_million_tokens_input'] * 3 + gpt35Turbo.cost['per_million_tokens_output']) /
4;

export default async () => gpt35Turbo;
Loading

0 comments on commit 762a271

Please sign in to comment.