From db08d3971dacb7e76fbca23e4f67d37bc2fd96fb Mon Sep 17 00:00:00 2001 From: Jun Siang Cheah Date: Wed, 11 Sep 2024 23:45:20 +0100 Subject: [PATCH] github: add model list --- README.md | 35 ++++++++++++++++++++++++++++------- src/pull_available_models.py | 35 ++++++++++++++++++++++++++++------- 2 files changed, 56 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 22f3074..0596f65 100644 --- a/README.md +++ b/README.md @@ -185,12 +185,32 @@ This lists various services that provide free access or credits towards API-base Llama 3.1 8B - - GitHub Models - Waitlist - Access to Azure AI models from OpenAI, Anthropic, Mistral, Cohere, AI21, Phi. - Rate limits dependent on Copilot subscription tier - + GitHub ModelsWaitlist
Rate limits dependent on Copilot subscription tierAI21-Jamba-Instruct +Cohere Command R +Cohere Command R+ +Cohere Embed v3 English +Cohere Embed v3 Multilingual +Meta-Llama-3-70B-Instruct +Meta-Llama-3-8B-Instruct +Meta-Llama-3.1-405B-Instruct +Meta-Llama-3.1-70B-Instruct +Meta-Llama-3.1-8B-Instruct +Mistral Large +Mistral Large (2407) +Mistral Nemo +Mistral Small +OpenAI GPT-4o +OpenAI GPT-4o mini +OpenAI Text Embedding 3 (large) +OpenAI Text Embedding 3 (small) +Phi-3-medium instruct (128k) +Phi-3-medium instruct (4k) +Phi-3-mini instruct (128k) +Phi-3-mini instruct (4k) +Phi-3-small instruct (128k) +Phi-3-small instruct (8k) +Phi-3.5-mini instruct (128k) + ## Providers with trial credits @@ -258,7 +278,7 @@ This lists various services that provide free access or credits towards API-base Phone number verification Various open models - Hyperbolic$10Hermes 3 Llama 3.1 70B + Hyperbolic$10Hermes 3 Llama 3.1 70B Llama 3 70B Instruct Llama 3.1 405B Base Llama 3.1 405B Base (FP8) @@ -266,5 +286,6 @@ This lists various services that provide free access or credits towards API-base Llama 3.1 70B Instruct Llama 3.1 8B Instruct Reflection Llama 3.1 70B +deepseek-ai/deepseek-v2.5 \ No newline at end of file diff --git a/src/pull_available_models.py b/src/pull_available_models.py index 6796366..3b046d8 100644 --- a/src/pull_available_models.py +++ b/src/pull_available_models.py @@ -100,6 +100,8 @@ MODEL_TO_NAME_MAPPING = { "mattshumer/reflection-70b:free": "Reflection Llama 3.1 70B", "mattshumer/reflection-llama-3.1-70b-completions": "Reflection Llama 3.1 70B Completions", } + + def create_logger(provider_name): logger = logging.getLogger(provider_name) logger.setLevel(logging.DEBUG) @@ -424,6 +426,23 @@ def fetch_hyperbolic_models_api(logger): logger.debug(json.dumps(ret_models, indent=4)) return ret_models +def fetch_github_models(logger): + logger.info("Fetching GitHub models...") + r = requests.get("https://models.inference.ai.azure.com/models") + r.raise_for_status() + models = r.json() + logger.info(f"Fetched {len(models)} models from GitHub") + ret_models = [] + for model in models: + ret_models.append( + { + "id": model["name"], + "name": model["friendly_name"], + } + ) + ret_models = sorted(ret_models, key=lambda x: x["name"]) + return ret_models + def fetch_gemini_limits(logger): logger.info("Fetching Gemini limits...") client = cloudquotas_v1.CloudQuotasClient() @@ -462,6 +481,7 @@ def main(): google_ai_studio_logger = create_logger("Google AI Studio") ovh_logger = create_logger("OVH") cloudflare_logger = create_logger("Cloudflare") + github_logger = create_logger("GitHub") hyperbolic_logger = create_logger("Hyperbolic") gemini_models = fetch_gemini_limits(google_ai_studio_logger) @@ -469,6 +489,7 @@ def main(): hyperbolic_models = fetch_hyperbolic_models(hyperbolic_logger) ovh_models = fetch_ovh_models(ovh_logger) cloudflare_models = fetch_cloudflare_models(cloudflare_logger) + github_models = fetch_github_models(github_logger) groq_models = fetch_groq_models(groq_logger) @@ -608,13 +629,13 @@ def main(): Llama 3.1 8B """ - - table += """ - GitHub Models - Waitlist - Access to Azure AI models from OpenAI, Anthropic, Mistral, Cohere, AI21, Phi. - Rate limits dependent on Copilot subscription tier - """ + for idx, model in enumerate(github_models): + table += "" + table += f'GitHub Models' if idx == 0 else '' + table += f'Waitlist
Rate limits dependent on Copilot subscription tier' if idx == 0 else '' + table += f"{model['name']}" + table += "" + table += "\n" table += ""