diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..b38df29 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: "daily" diff --git a/README.md b/README.md index 17befe0..b662cd6 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,20 @@ Here's a demo of RA.Aid adding a feature to itself: RA.Aid Demo +## Documentation + +Complete documentation is available at https://docs.ra-aid.ai + +Key sections: +- [Installation Guide](https://docs.ra-aid.ai/quickstart/installation) +- [Recommended Configuration](https://docs.ra-aid.ai/quickstart/recommended) +- [Open Models Setup](https://docs.ra-aid.ai/quickstart/open-models) +- [Usage Examples](https://docs.ra-aid.ai/category/usage) +- [Contributing Guide](https://docs.ra-aid.ai/contributing) +- [Getting Help](https://docs.ra-aid.ai/getting-help) + +## Table of Contents + - [Features](#features) - [Installation](#installation) - [Usage](#usage) @@ -91,14 +105,7 @@ pip install ra-aid ### Prerequisites -Before using RA.Aid, you'll need: - -1. Python package `aider` installed and available in your PATH: -```bash -pip install aider-chat -``` - -2. API keys for the required AI services: +Before using RA.Aid, you'll need API keys for the required AI services: ```bash # Set up API keys based on your preferred provider: @@ -106,7 +113,7 @@ pip install aider-chat # For Anthropic Claude models (recommended) export ANTHROPIC_API_KEY=your_api_key_here -# For OpenAI models +# For OpenAI models (optional) export OPENAI_API_KEY=your_api_key_here # For OpenRouter provider (optional) @@ -133,6 +140,8 @@ You can get your API keys from: - OpenRouter API key: https://openrouter.ai/keys - Gemini API key: https://aistudio.google.com/app/apikey +Complete installation documentation is available in our [Installation Guide](https://docs.ra-aid.ai/quickstart/installation). + ## Usage RA.Aid is designed to be simple yet powerful. Here's how to use it: @@ -148,6 +157,8 @@ ra-aid -m "Explain the authentication flow" --research-only ra-aid -m "Add new feature" --verbose ``` +More information is available in our [Usage Examples](https://docs.ra-aid.ai/category/usage). + ### Command Line Options - `-m, --message`: The task or query to be executed (required except in chat mode) @@ -428,6 +439,8 @@ Note: For `AIDER_FLAGS`, you can specify flags with or without the leading `--`. - Model configuration is done via command line arguments: `--provider` and `--model` - The `--model` argument is required for all providers except Anthropic (which defaults to `claude-3-5-sonnet-20241022`) +More information is available in our [Open Models Setup](https://docs.ra-aid.ai/quickstart/open-models) guide. + ## Architecture RA.Aid implements a three-stage architecture for handling development and research tasks: @@ -524,6 +537,8 @@ git push origin feature/your-feature-name - Keep commits focused and message clear - Ensure all tests pass before submitting PR +More information is available in our [Contributing Guide](https://docs.ra-aid.ai/contributing). + ## License This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details. diff --git a/assets/favicon.ico b/assets/favicon.ico new file mode 100644 index 0000000..d933be3 Binary files /dev/null and b/assets/favicon.ico differ diff --git a/docs/docs/contributing.md b/docs/docs/contributing.md new file mode 100644 index 0000000..3d0e7a6 --- /dev/null +++ b/docs/docs/contributing.md @@ -0,0 +1,79 @@ +# Contributing to RA.Aid + +Welcome to the RA.Aid community! We're thrilled you're interested in contributing. This project thrives thanks to contributors like you, and we're excited to have you join us on this journey. + +## Ways to Contribute + +There are many valuable ways to contribute to RA.Aid: + +### 1. Join Our Community +- Join our Discord community to connect with other users and contributors +- Help answer questions from other users +- Share your experiences and use cases +- Provide feedback and suggestions + +### 2. Report Issues +- Found a bug? Open an issue on our [GitHub repository](https://github.com/ai-christianson/RA.Aid/issues) +- Before creating a new issue, please check if it already exists +- Include as much detail as possible: + - Steps to reproduce + - Expected vs actual behavior + - Your environment (OS, Python version, etc.) + - Any relevant error messages + +### 3. Contribute to Documentation +- Our documentation lives in the `docs/` folder +- Found a typo? Have an idea for better explanations? Open a PR! +- You can use RA.Aid itself to help draft documentation changes +- Even small improvements are welcome + +### 4. Code Contributions +- Look for issues labeled "help wanted" or "good first issue" on our GitHub +- Feel free to pick up any open issue - don't be shy! +- **You can even use RA.Aid to help understand the codebase and make changes** +- Before starting work on larger changes, please open an issue to discuss + +## Making Your First Contribution + +1. Fork the repository +2. Create a branch for your changes +3. Make your changes +4. Write/update tests if needed +5. Submit a Pull Request +6. Wait for review and address any feedback + +Don't hesitate to ask questions if you're unsure about anything. Remember: every expert was once a beginner! + +## Development Setup + +1. Clone the repository: + +```bash +git clone https://github.com/ai-christianson/RA.Aid.git +cd RA.Aid +``` + +2. Create and activate a virtual environment: + +```bash +python -m venv venv +source venv/bin/activate +``` + +3. Install in dev mode: + +```bash +pip install -e . +``` + +4. Run RA.Aid: + +```bash +ra-aid -m "Your task or query here" +``` + +## This is Your Project Too + +RA.Aid is a community project that grows stronger with each contribution. Whether it's fixing a typo in documentation, reporting a bug, or adding a new feature - every contribution matters and is valued. + +Don't feel like you need to make massive changes to contribute. Small, focused contributions are often the best way to start. Use what you know, and learn as you go! diff --git a/docs/docs/getting-help.md b/docs/docs/getting-help.md new file mode 100644 index 0000000..fe13d0f --- /dev/null +++ b/docs/docs/getting-help.md @@ -0,0 +1,11 @@ +# Getting Help + +## Bug Reports and Feature Requests + +If you encounter any issues or have ideas for improvements, please file them on our [GitHub Issues page](https://github.com/ai-christianson/RA.Aid/issues). + +## Community Support + +Join our Discord community to chat with other users and get help: + +- [Join the Discord Server](https://discord.gg/f6wYbzHYxV) diff --git a/docs/docs/getting-started.md b/docs/docs/getting-started.md deleted file mode 100644 index 31f793a..0000000 --- a/docs/docs/getting-started.md +++ /dev/null @@ -1 +0,0 @@ ----\nsidebar_position: 1\n---\n\n# Getting Started\n\nWelcome to the documentation. This page will help you get started. diff --git a/docs/docs/intro.md b/docs/docs/intro.md index acd2ad2..c529780 100644 --- a/docs/docs/intro.md +++ b/docs/docs/intro.md @@ -3,46 +3,54 @@ sidebar_position: 1 slug: / --- -# Intro +# Welcome to RA.Aid -Let's discover **Docusaurus in less than 5 minutes**. +RA.Aid (pronounced "raid") is your AI-powered development companion that helps you build software autonomously. Whether you're working on new features, refactoring code, or researching solutions, RA.Aid makes development faster and more efficient. -## Getting Started +## Why RA.Aid? -Get started by **creating a new site**. +- 🤖 **Autonomous Development**: Let RA.Aid handle complex programming tasks while you focus on the big picture +- 🔍 **Smart Research**: Automatically researches solutions and best practices +- 📋 **Intelligent Planning**: Breaks down complex tasks into manageable steps +- 💬 **Interactive Mode**: Get help when you need it through natural conversation -Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**. +## Quick Start -### What you'll need +Ready to get started? Jump right to: -- [Node.js](https://nodejs.org/en/download/) version 18.0 or above: - - When installing Node.js, you are recommended to check all checkboxes related to dependencies. +- [Installation Guide](/quickstart/installation) +- [Basic Usage Examples](/usage/modern-web-app) -## Generate a new site +### Basic Example -Generate a new Docusaurus site using the **classic template**. - -The classic template will automatically be added to your project after you run the command: +Here's how simple it is to use RA.Aid: ```bash -npm init docusaurus@latest my-website classic +# Install RA.Aid +pip install ra-aid + +# Set up API keys +export ANTHROPIC_API_KEY=your_key_here +export OPENAI_API_KEY=your_key_here +export TAVILY_API_KEY=your_key_here + +# Start using it +ra-aid -m "Add input validation to the login form" ``` -You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor. +## Key Features -The command also installs all necessary dependencies you need to run Docusaurus. +- **Three-Stage Workflow**: Research → Planning → Implementation +- **Web Research**: Automatically searches for best practices and solutions +- **Interactive Mode**: Get help when you need it through natural conversation +- **Multiple AI Providers**: Support for various AI models to suit your needs +- **Git Integration**: Works seamlessly with your version control -## Start your site +## Next Steps -Run the development server: +- Check out the [Installation Guide](/quickstart/installation) to set up RA.Aid +- See [Usage Examples](/usage/modern-web-app) to get started quickly +- Read our [Contributing Guide](/contributing) to get involved +- Join our [Discord Community](https://discord.gg/f6wYbzHYxV) for help and discussions -```bash -cd my-website -npm run start -``` - -The `cd` command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there. - -The `npm run start` command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/. - -Open `docs/intro.md` (this page) and edit some lines: the site **reloads automatically** and displays your changes. +Ready to revolutionize your development workflow? Let's get started! 🚀 diff --git a/docs/docs/quickstarts/_category_.json b/docs/docs/quickstart/_category_.json similarity index 84% rename from docs/docs/quickstarts/_category_.json rename to docs/docs/quickstart/_category_.json index 4e464dc..7a04160 100644 --- a/docs/docs/quickstarts/_category_.json +++ b/docs/docs/quickstart/_category_.json @@ -1,5 +1,5 @@ { - "label": "Quick Starts", + "label": "Quick Start", "position": 2, "link": { "type": "generated-index", diff --git a/docs/docs/quickstart/installation.md b/docs/docs/quickstart/installation.md new file mode 100644 index 0000000..d2bccea --- /dev/null +++ b/docs/docs/quickstart/installation.md @@ -0,0 +1,70 @@ +--- +sidebar_position: 1 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Installation + +Getting started is easy! You can install RA.Aid using any of these three methods - pick the one that works best for you: + + + + +Create a new Python 3.12 virtual environment and install RA.Aid: + +First install [uv](https://docs.astral.sh/uv/getting-started/installation/), then: + +```bash +uv venv -p 3.12 +``` + + + + +```bash +source .venv/bin/activate +``` + + + + +```bash +.venv\Scripts\activate +``` + + + + +```bash +uv pip install ra-aid +``` + + + + +Install RA.Aid using pip: + +```bash +pip install ra-aid +``` + +:::note +If you're using Python 3.13 or newer, we recommend using the UV installation method instead due to compatibility issues with newer Python versions. +::: + + + + +Install RA.Aid using Homebrew: + +```bash +brew tap ai-christianson/homebrew-ra-aid +brew install ra-aid +``` + + + + +Once installed, see the [Recommended Configuration](recommended) to set up RA.Aid with the recommended settings. diff --git a/docs/docs/quickstart/open-models.md b/docs/docs/quickstart/open-models.md new file mode 100644 index 0000000..42ce211 --- /dev/null +++ b/docs/docs/quickstart/open-models.md @@ -0,0 +1,180 @@ +--- +sidebar_position: 3 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +# Open Models Configuration + +RA.Aid supports a variety of open source and compatible model providers. This guide covers configuration options and best practices for using different models with RA.Aid. + +## Overview + + + + +RA.Aid supports these model providers: + +| Provider | Description | Key Features | +|----------|-------------|--------------| +| DeepSeek | Chinese hedge fund who creates sophisticated LLMs | Strong, open models like R1 | +| OpenRouter | Multi-model gateway service | Access to 100+ models, unified API interface, pay-per-token | +| OpenAI-compatible | Self-hosted model endpoints | Compatible with Llama, Mistral and other open models | +| Anthropic | Claude model series | 200k token context, strong tool use, JSON/XML parsing | +| Gemini | Google's multimodal models | Code generation in 20+ languages, parallel request support | + + + + +### Basic Configuration + +1. Set your provider's API key: +```bash +# Choose the appropriate provider +export DEEPSEEK_API_KEY=your_key +export OPENROUTER_API_KEY=your_key +export OPENAI_API_KEY=your_key +export ANTHROPIC_API_KEY=your_key +export GEMINI_API_KEY=your_key +``` + +2. Run RA.Aid with your chosen provider: +```bash +ra-aid -m "Your task" --provider --model +``` + + + + +## Provider Configuration + + + + +### DeepSeek Models + +DeepSeek offers powerful reasoning models optimized for complex tasks. + +```bash +# Environment setup +export DEEPSEEK_API_KEY=your_api_key_here + +# Basic usage +ra-aid -m "Your task" --provider deepseek --model deepseek-reasoner + +# With temperature control +ra-aid -m "Your task" --provider deepseek --model deepseek-reasoner --temperature 0.7 +``` + +**Available Models:** +- `deepseek-reasoner`: Optimized for reasoning tasks +- Access via OpenRouter: `deepseek/deepseek-r1` + + + +### OpenRouter Integration + +OpenRouter provides access to multiple open source models through a single API. + +```bash +# Environment setup +export OPENROUTER_API_KEY=your_api_key_here + +# Example commands +ra-aid -m "Your task" --provider openrouter --model mistralai/mistral-large-2411 +ra-aid -m "Your task" --provider openrouter --model deepseek/deepseek-r1 +``` + +**Popular Models:** +- `mistralai/mistral-large-2411` +- `anthropic/claude-3` +- `deepseek/deepseek-r1` + + + +### OpenAI-compatible Endpoints + +Use OpenAI-compatible API endpoints with custom hosting solutions. + +```bash +# Environment setup +export OPENAI_API_KEY=your_api_key_here +export OPENAI_API_BASE=https://your-api-endpoint + +# Usage +ra-aid -m "Your task" --provider openai-compatible --model your-model-name +``` + +**Configuration Options:** +- Set custom base URL with `OPENAI_API_BASE` +- Supports temperature control +- Compatible with most OpenAI-style APIs + + + +## Advanced Configuration + + + + +### Expert Tool Configuration + +Configure the expert model for specialized tasks; this usually benefits from a more powerful, slower, reasoning model: + +```bash +# DeepSeek expert +export EXPERT_DEEPSEEK_API_KEY=your_key +ra-aid -m "Your task" --expert-provider deepseek --expert-model deepseek-reasoner + +# OpenRouter expert +export EXPERT_OPENROUTER_API_KEY=your_key +ra-aid -m "Your task" --expert-provider openrouter --expert-model mistralai/mistral-large-2411 +``` + + + + +### Temperature Settings + +Control model creativity vs determinism: + +```bash +# More deterministic (good for coding) +ra-aid -m "Your task" --temperature 0.2 + +# More creative (good for brainstorming) +ra-aid -m "Your task" --temperature 0.8 +``` + +**Note:** Not all models support temperature control. Check provider documentation. + + + +## Best Practices + +- Set environment variables in your shell configuration file +- Use lower temperatures (0.1-0.3) for coding tasks +- Test different models to find the best fit for your use case +- Consider using expert mode for complex programming tasks + +## Environment Variables + +Complete list of supported environment variables: + +| Variable | Provider | Purpose | +|----------|----------|----------| +| `OPENROUTER_API_KEY` | OpenRouter | Main API access | +| `DEEPSEEK_API_KEY` | DeepSeek | Main API access | +| `OPENAI_API_KEY` | OpenAI-compatible | API access | +| `OPENAI_API_BASE` | OpenAI-compatible | Custom endpoint | +| `ANTHROPIC_API_KEY` | Anthropic | API access | +| `GEMINI_API_KEY` | Gemini | API access | +| `EXPERT_OPENROUTER_API_KEY` | OpenRouter | Expert tool | +| `EXPERT_DEEPSEEK_API_KEY` | DeepSeek | Expert tool | + +## Troubleshooting + +- Verify API keys are set correctly +- Check endpoint URLs for OpenAI-compatible setups +- Monitor API rate limits and quotas diff --git a/docs/docs/quickstarts/recommended.md b/docs/docs/quickstart/recommended.md similarity index 98% rename from docs/docs/quickstarts/recommended.md rename to docs/docs/quickstart/recommended.md index 4df30a7..38d519b 100644 --- a/docs/docs/quickstarts/recommended.md +++ b/docs/docs/quickstart/recommended.md @@ -1,3 +1,7 @@ +--- +sidebar_position: 2 +--- + # Recommended Config This configuration combines the strengths of multiple AI models to provide the best experience: diff --git a/docs/docs/quickstarts/congratulations.md b/docs/docs/quickstarts/congratulations.md deleted file mode 100644 index 04771a0..0000000 --- a/docs/docs/quickstarts/congratulations.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -sidebar_position: 6 ---- - -# Congratulations! - -You have just learned the **basics of Docusaurus** and made some changes to the **initial template**. - -Docusaurus has **much more to offer**! - -Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**. - -Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610) - -## What's next? - -- Read the [official documentation](https://docusaurus.io/) -- Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config) -- Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration) -- Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout) -- Add a [search bar](https://docusaurus.io/docs/search) -- Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase) -- Get involved in the [Docusaurus Community](https://docusaurus.io/community/support) diff --git a/docs/docs/quickstarts/create-a-blog-post.md b/docs/docs/quickstarts/create-a-blog-post.md deleted file mode 100644 index 550ae17..0000000 --- a/docs/docs/quickstarts/create-a-blog-post.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -sidebar_position: 3 ---- - -# Create a Blog Post - -Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed... - -## Create your first Post - -Create a file at `blog/2021-02-28-greetings.md`: - -```md title="blog/2021-02-28-greetings.md" ---- -slug: greetings -title: Greetings! -authors: - - name: Joel Marcey - title: Co-creator of Docusaurus 1 - url: https://github.com/JoelMarcey - image_url: https://github.com/JoelMarcey.png - - name: Sébastien Lorber - title: Docusaurus maintainer - url: https://sebastienlorber.com - image_url: https://github.com/slorber.png -tags: [greetings] ---- - -Congratulations, you have made your first post! - -Feel free to play around and edit this post as much as you like. -``` - -A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings). diff --git a/docs/docs/quickstarts/create-a-document.md b/docs/docs/quickstarts/create-a-document.md deleted file mode 100644 index 28b0262..0000000 --- a/docs/docs/quickstarts/create-a-document.md +++ /dev/null @@ -1,57 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Create a Document - -Documents are **groups of pages** connected through: - -- a **sidebar** -- **previous/next navigation** -- **versioning** - -## Create your first Doc - -Create a Markdown file at `docs/hello.md`: - -```md title="docs/hello.md" -# Hello - -This is my **first Docusaurus document**! -``` - -A new document is now available at [http://localhost:3000/docs/hello](http://localhost:3000/docs/hello). - -## Configure the Sidebar - -Docusaurus automatically **creates a sidebar** from the `docs` folder. - -Add metadata to customize the sidebar label and position: - -```md title="docs/hello.md" {1-4} ---- -sidebar_label: 'Hi!' -sidebar_position: 3 ---- - -# Hello - -This is my **first Docusaurus document**! -``` - -It is also possible to create your sidebar explicitly in `sidebars.js`: - -```js title="sidebars.js" -export default { - tutorialSidebar: [ - 'intro', - // highlight-next-line - 'hello', - { - type: 'category', - label: 'Tutorial', - items: ['quickstarts/create-a-document'], - }, - ], -}; -``` diff --git a/docs/docs/quickstarts/create-a-page.md b/docs/docs/quickstarts/create-a-page.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/docs/quickstarts/deploy-your-site.md b/docs/docs/quickstarts/deploy-your-site.md deleted file mode 100644 index 1c50ee0..0000000 --- a/docs/docs/quickstarts/deploy-your-site.md +++ /dev/null @@ -1,31 +0,0 @@ ---- -sidebar_position: 5 ---- - -# Deploy your site - -Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**). - -It builds your site as simple **static HTML, JavaScript and CSS files**. - -## Build your site - -Build your site **for production**: - -```bash -npm run build -``` - -The static files are generated in the `build` folder. - -## Deploy your site - -Test your production build locally: - -```bash -npm run serve -``` - -The `build` folder is now served at [http://localhost:3000/](http://localhost:3000/). - -You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**). diff --git a/docs/docs/quickstarts/installation.md b/docs/docs/quickstarts/installation.md deleted file mode 100644 index 46d13d0..0000000 --- a/docs/docs/quickstarts/installation.md +++ /dev/null @@ -1,14 +0,0 @@ -# Installation - -Create a new Python 3.12 virtual environment and install RA.Aid: - -```bash -uv venv -p 3.12 -source .venv/bin/activate # On Unix/macOS -# or -.venv\Scripts\activate # On Windows - -uv pip install ra-aid -``` - -Once installed, see the [Recommended Configuration](recommended) to set up RA.Aid with the recommended settings. diff --git a/docs/docs/quickstarts/markdown-features.mdx b/docs/docs/quickstarts/markdown-features.mdx deleted file mode 100644 index 1f42792..0000000 --- a/docs/docs/quickstarts/markdown-features.mdx +++ /dev/null @@ -1,152 +0,0 @@ ---- -sidebar_position: 4 ---- - -# Markdown Features - -Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**. - -## Front Matter - -Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/): - -```text title="my-doc.md" -// highlight-start ---- -id: my-doc-id -title: My document title -description: My document description -slug: /my-custom-url ---- -// highlight-end - -## Markdown heading - -Markdown text with [links](./hello.md) -``` - -## Links - -Regular Markdown links are supported, using url paths or relative file paths. - -```md -Let's see how to [Create a page](/recommended). -``` - -```md -Let's see how to [Create a page](./recommended.md). -``` - -**Result:** Let's see how to [Create a page](./recommended.md). - -## Images - -Regular Markdown images are supported. - -You can use absolute paths to reference images in the static directory (`static/img/docusaurus.png`): - -```md -![Docusaurus logo](/img/docusaurus.png) -``` - -![Docusaurus logo](/img/docusaurus.png) - -You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them: - -```md -![Docusaurus logo](./img/docusaurus.png) -``` - -## Code Blocks - -Markdown code blocks are supported with Syntax highlighting. - -````md -```jsx title="src/components/HelloDocusaurus.js" -function HelloDocusaurus() { - return

Hello, Docusaurus!

; -} -``` -```` - -```jsx title="src/components/HelloDocusaurus.js" -function HelloDocusaurus() { - return

Hello, Docusaurus!

; -} -``` - -## Admonitions - -Docusaurus has a special syntax to create admonitions and callouts: - -```md -:::tip My tip - -Use this awesome feature option - -::: - -:::danger Take care - -This action is dangerous - -::: -``` - -:::tip My tip - -Use this awesome feature option - -::: - -:::danger Take care - -This action is dangerous - -::: - -## MDX and React Components - -[MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**: - -```jsx -export const Highlight = ({children, color}) => ( - { - alert(`You clicked the color ${color} with label ${children}`) - }}> - {children} - -); - -This is Docusaurus green ! - -This is Facebook blue ! -``` - -export const Highlight = ({children, color}) => ( - { - alert(`You clicked the color ${color} with label ${children}`); - }}> - {children} - -); - -This is Docusaurus green ! - -This is Facebook blue ! diff --git a/docs/docs/tutorial-extras/_category_.json b/docs/docs/tutorial-extras/_category_.json deleted file mode 100644 index a8ffcc1..0000000 --- a/docs/docs/tutorial-extras/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Tutorial - Extras", - "position": 3, - "link": { - "type": "generated-index" - } -} diff --git a/docs/docs/tutorial-extras/img/docsVersionDropdown.png b/docs/docs/tutorial-extras/img/docsVersionDropdown.png deleted file mode 100644 index 97e4164..0000000 Binary files a/docs/docs/tutorial-extras/img/docsVersionDropdown.png and /dev/null differ diff --git a/docs/docs/tutorial-extras/img/localeDropdown.png b/docs/docs/tutorial-extras/img/localeDropdown.png deleted file mode 100644 index e257edc..0000000 Binary files a/docs/docs/tutorial-extras/img/localeDropdown.png and /dev/null differ diff --git a/docs/docs/tutorial-extras/manage-docs-versions.md b/docs/docs/tutorial-extras/manage-docs-versions.md deleted file mode 100644 index ccda0b9..0000000 --- a/docs/docs/tutorial-extras/manage-docs-versions.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Manage Docs Versions - -Docusaurus can manage multiple versions of your docs. - -## Create a docs version - -Release a version 1.0 of your project: - -```bash -npm run docusaurus docs:version 1.0 -``` - -The `docs` folder is copied into `versioned_docs/version-1.0` and `versions.json` is created. - -Your docs now have 2 versions: - -- `1.0` at `http://localhost:3000/docs/` for the version 1.0 docs -- `current` at `http://localhost:3000/docs/next/` for the **upcoming, unreleased docs** - -## Add a Version Dropdown - -To navigate seamlessly across versions, add a version dropdown. - -Modify the `docusaurus.config.js` file: - -```js title="docusaurus.config.js" -export default { - themeConfig: { - navbar: { - items: [ - // highlight-start - { - type: 'docsVersionDropdown', - }, - // highlight-end - ], - }, - }, -}; -``` - -The docs version dropdown appears in your navbar: - -![Docs Version Dropdown](./img/docsVersionDropdown.png) - -## Update an existing version - -It is possible to edit versioned docs in their respective folder: - -- `versioned_docs/version-1.0/hello.md` updates `http://localhost:3000/docs/hello` -- `docs/hello.md` updates `http://localhost:3000/docs/next/hello` diff --git a/docs/docs/tutorial-extras/translate-your-site.md b/docs/docs/tutorial-extras/translate-your-site.md deleted file mode 100644 index b5a644a..0000000 --- a/docs/docs/tutorial-extras/translate-your-site.md +++ /dev/null @@ -1,88 +0,0 @@ ---- -sidebar_position: 2 ---- - -# Translate your site - -Let's translate `docs/intro.md` to French. - -## Configure i18n - -Modify `docusaurus.config.js` to add support for the `fr` locale: - -```js title="docusaurus.config.js" -export default { - i18n: { - defaultLocale: 'en', - locales: ['en', 'fr'], - }, -}; -``` - -## Translate a doc - -Copy the `docs/intro.md` file to the `i18n/fr` folder: - -```bash -mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/ - -cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md -``` - -Translate `i18n/fr/docusaurus-plugin-content-docs/current/intro.md` in French. - -## Start your localized site - -Start your site on the French locale: - -```bash -npm run start -- --locale fr -``` - -Your localized site is accessible at [http://localhost:3000/fr/](http://localhost:3000/fr/) and the `Getting Started` page is translated. - -:::caution - -In development, you can only use one locale at a time. - -::: - -## Add a Locale Dropdown - -To navigate seamlessly across languages, add a locale dropdown. - -Modify the `docusaurus.config.js` file: - -```js title="docusaurus.config.js" -export default { - themeConfig: { - navbar: { - items: [ - // highlight-start - { - type: 'localeDropdown', - }, - // highlight-end - ], - }, - }, -}; -``` - -The locale dropdown now appears in your navbar: - -![Locale Dropdown](./img/localeDropdown.png) - -## Build your localized site - -Build your site for a specific locale: - -```bash -npm run build -- --locale fr -``` - -Or build your site to include all the locales at once: - -```bash -npm run build -``` diff --git a/docs/docs/usage/_category_.json b/docs/docs/usage/_category_.json new file mode 100644 index 0000000..37b7b21 --- /dev/null +++ b/docs/docs/usage/_category_.json @@ -0,0 +1,8 @@ +{ + "label": "Usage", + "position": 3, + "link": { + "type": "generated-index", + "description": "Learn how to use RA.Aid effectively in different scenarios." + } +} diff --git a/docs/docs/usage/cpp-game.md b/docs/docs/usage/cpp-game.md new file mode 100644 index 0000000..7a68c8a --- /dev/null +++ b/docs/docs/usage/cpp-game.md @@ -0,0 +1,19 @@ +# Create a Game using RA.Aid + +RA.Aid can work on almost any kind of software, including writing games in languages like C++. + +## Creating the Initial Game + +To get started with creating a game, you can use RA.Aid with a simple command like: + +``` +ra-aid -m "Create a basic breakout clone in C++ using opengl." +``` + +## Adding Features + +Once your base game is working, you can add features like this: + +``` +ra-aid -m "Add score tracking/display to the main screen." +``` \ No newline at end of file diff --git a/docs/docs/usage/modern-web-app.md b/docs/docs/usage/modern-web-app.md new file mode 100644 index 0000000..083acea --- /dev/null +++ b/docs/docs/usage/modern-web-app.md @@ -0,0 +1,45 @@ +# Create a Modern Web App + +When using AI tools like RA.Aid to create a modern web application, it's most effective to break down the work from a high level into discrete tasks. This guide will walk you through a practical example of building a Next.js application with common modern features. + +## Setting Up a Fresh Next.js Application + +To get started with a new Next.js project, you can use RA.Aid with a simple command like: + +``` +ra-aid -m "Initialize a new nextjs app." +``` + +RA.Aid will execute the necessary commands and set up a clean Next.js project for you with the latest best practices. It'll even search the web to read documentation about the latest version of Next. + +## Adding shadcn/ui Components + +Once your base Next.js application is ready, you can add the shadcn/ui component library. Tell RA.Aid: + +``` +ra-aid -m "Install shadcn into this project and put a few examples of shadcn components on the main page." +``` + +This will configure your project with shadcn/ui's CLI, set up the necessary styling, and add your first components. + +## Integrating Prisma with SQLite + +For database integration, you can add Prisma ORM with SQLite. Simply instruct RA.Aid: + +``` +ra-aid -m "Integrate prisma/sqlite into this project." +``` + +RA.Aid will handle the Prisma setup, create your database schema, and set up your first model. + +## Adding Features Incrementally + +With the foundation in place, you can start adding features one by one. Here's an example: + +``` +ra-aid -m "Add a simple user registration form. Include fields for email and password." +``` + +Keep your feature requests focused and specific. This allows RA.Aid to implement them effectively while maintaining code quality. + +Remember to build your application incrementally, testing each feature as it's added. This approach helps manage complexity and ensures a stable development process. \ No newline at end of file diff --git a/docs/docs/usage/monorepo.md b/docs/docs/usage/monorepo.md new file mode 100644 index 0000000..6c2f3fd --- /dev/null +++ b/docs/docs/usage/monorepo.md @@ -0,0 +1,17 @@ +# Work with an Existing Mono Repo using RA.Aid + +RA.Aid is good at handling complex monorepo projects. For example, if you you have an app set up like this: + +``` +app/ +web/ +backend/ +``` + +You can run RA.Aid at the top level and give it commands like this: + +``` +ra-aid -m "Update the user form to support birthdates. Be sure to also update the DB model and migration scripts." +``` + +RA.Aid will proceed to work on multiple high-level components of your application. \ No newline at end of file diff --git a/docs/docusaurus.config.ts b/docs/docusaurus.config.ts index a2f1392..4b3de14 100644 --- a/docs/docusaurus.config.ts +++ b/docs/docusaurus.config.ts @@ -17,6 +17,10 @@ const config: Config = { locales: ['en'], }, + plugins: [ + '@docusaurus/plugin-vercel-analytics' + ], + presets: [ [ 'classic', @@ -48,7 +52,7 @@ const config: Config = { label: 'Docs', }, { - href: 'https://github.com/smallcloudai/refact-aide', + href: 'https://github.com/ai-christianson/RA.Aid', label: 'GitHub', position: 'right', }, @@ -56,7 +60,7 @@ const config: Config = { }, footer: { style: 'dark', - copyright: `Copyright © ${new Date().getFullYear()} My Project, Inc. Built with Docusaurus.`, + copyright: `Copyright © ${new Date().getFullYear()} AI Christianson. Built with RA.Aid and Docusaurus.`, }, prism: { theme: prismThemes.github, diff --git a/docs/package-lock.json b/docs/package-lock.json index d3a5f04..248e2d8 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@docusaurus/core": "3.7.0", + "@docusaurus/plugin-vercel-analytics": "^3.7.0", "@docusaurus/preset-classic": "3.7.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", @@ -3529,6 +3530,66 @@ "react-dom": "^18.0.0 || ^19.0.0" } }, + "node_modules/@docusaurus/plugin-vercel-analytics": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-vercel-analytics/-/plugin-vercel-analytics-3.7.0.tgz", + "integrity": "sha512-zEOsqNI3oj4WRO9Dbzsar9fctwAl60PZJqhu14X5W3z5zT/E1TFKrHW/oJHU/a1r5o9K2cFsSNdDn2tyuaFJoQ==", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.7.0", + "@docusaurus/logger": "3.7.0", + "@docusaurus/types": "3.7.0", + "@docusaurus/utils": "3.7.0", + "@docusaurus/utils-validation": "3.7.0", + "@vercel/analytics": "^1.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0 || ^19.0.0", + "react-dom": "^18.0.0 || ^19.0.0" + } + }, + "node_modules/@docusaurus/plugin-vercel-analytics/node_modules/@vercel/analytics": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vercel/analytics/-/analytics-1.5.0.tgz", + "integrity": "sha512-MYsBzfPki4gthY5HnYN7jgInhAZ7Ac1cYDoRWFomwGHWEX7odTEzbtg9kf/QSo7XEsEAqlQugA6gJ2WS2DEa3g==", + "license": "MPL-2.0", + "peerDependencies": { + "@remix-run/react": "^2", + "@sveltejs/kit": "^1 || ^2", + "next": ">= 13", + "react": "^18 || ^19 || ^19.0.0-rc", + "svelte": ">= 4", + "vue": "^3", + "vue-router": "^4" + }, + "peerDependenciesMeta": { + "@remix-run/react": { + "optional": true + }, + "@sveltejs/kit": { + "optional": true + }, + "next": { + "optional": true + }, + "react": { + "optional": true + }, + "svelte": { + "optional": true + }, + "vue": { + "optional": true + }, + "vue-router": { + "optional": true + } + } + }, "node_modules/@docusaurus/preset-classic": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.7.0.tgz", diff --git a/docs/package.json b/docs/package.json index 32ddd41..8bf5596 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,6 +16,7 @@ }, "dependencies": { "@docusaurus/core": "3.7.0", + "@docusaurus/plugin-vercel-analytics": "^3.7.0", "@docusaurus/preset-classic": "3.7.0", "@mdx-js/react": "^3.0.0", "clsx": "^2.0.0", diff --git a/docs/static/img/favicon.ico b/docs/static/img/favicon.ico index c01d54b..d933be3 100644 Binary files a/docs/static/img/favicon.ico and b/docs/static/img/favicon.ico differ diff --git a/ra_aid/models_params.py b/ra_aid/models_params.py index 0d374ca..2124258 100644 --- a/ra_aid/models_params.py +++ b/ra_aid/models_params.py @@ -4,6 +4,7 @@ List of model parameters DEFAULT_TOKEN_LIMIT = 100000 DEFAULT_TEMPERATURE = 0.7 +DEFAULT_BASE_LATENCY = 180 models_params = { "openai": { @@ -11,216 +12,281 @@ models_params = { "token_limit": 16385, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-3.5": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-3.5-turbo": { "token_limit": 16385, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-3.5-turbo-1106": { "token_limit": 16385, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-3.5-turbo-instruct": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-0125-preview": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-turbo-preview": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-turbo": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-turbo-2024-04-09": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-1106-preview": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-vision-preview": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-0613": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-32k": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-32k-0613": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4o": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4o-2024-08-06": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4o-2024-05-13": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4o-mini": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, + }, + "o1-preview": { + "token_limit": 128000, + "supports_temperature": False, + "latency_coefficient": DEFAULT_BASE_LATENCY, + }, + "o1-mini": { + "token_limit": 128000, + "supports_temperature": False, + "latency_coefficient": DEFAULT_BASE_LATENCY, + }, + "o1": { + "token_limit": 200000, + "supports_temperature": False, + "latency_coefficient": DEFAULT_BASE_LATENCY, + }, + "o3-mini": { + "token_limit": 200000, + "supports_temperature": False, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, - "o1-preview": {"token_limit": 128000, "supports_temperature": False}, - "o1-mini": {"token_limit": 128000, "supports_temperature": False}, - "o1": {"token_limit": 200000, "supports_temperature": False}, - "o3-mini": {"token_limit": 200000, "supports_temperature": False}, }, "azure_openai": { "gpt-3.5-turbo-0125": { "token_limit": 16385, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-3.5": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-3.5-turbo": { "token_limit": 16385, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-3.5-turbo-1106": { "token_limit": 16385, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-3.5-turbo-instruct": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-0125-preview": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-turbo-preview": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-turbo": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-turbo-2024-04-09": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-1106-preview": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-vision-preview": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-0613": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-32k": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4-32k-0613": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4o": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gpt-4o-mini": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "chatgpt-4o-latest": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, + }, + "o1-preview": { + "token_limit": 128000, + "supports_temperature": False, + "latency_coefficient": DEFAULT_BASE_LATENCY, + }, + "o1-mini": { + "token_limit": 128000, + "supports_temperature": False, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, - "o1-preview": {"token_limit": 128000, "supports_temperature": False}, - "o1-mini": {"token_limit": 128000, "supports_temperature": False}, }, "google_genai": { "gemini-pro": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gemini-1.5-flash-latest": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gemini-1.5-pro-latest": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "models/embedding-001": { "token_limit": 2048, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "google_vertexai": { @@ -228,16 +294,19 @@ models_params = { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gemini-1.5-pro": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gemini-1.0-pro": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "ollama": { @@ -245,257 +314,308 @@ models_params = { "token_limit": 12800, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "codellama": { "token_limit": 16000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "dbrx": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "deepseek-coder:33b": { "token_limit": 16000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "falcon": { "token_limit": 2048, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama2": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama2:7b": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama2:13b": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama2:70b": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3:8b": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3:70b": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3.1": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3.1:8b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3.1:70b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "lama3.1:405b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3.2": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3.2:1b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3.2:3b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3.3:70b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "scrapegraph": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistral-small": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistral-openorca": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistral-large": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "grok-1": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llava": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mixtral:8x22b-instruct": { "token_limit": 65536, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "nomic-embed-text": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "nous-hermes2:34b": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "orca-mini": { "token_limit": 2048, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "phi3:3.8b": { "token_limit": 12800, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "phi3:14b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "qwen:0.5b": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "qwen:1.8b": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "qwen:4b": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "qwen:14b": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "qwen:32b": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "qwen:72b": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "qwen:110b": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "stablelm-zephyr": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "wizardlm2:8x22b": { "token_limit": 65536, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistral": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gemma2": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gemma2:9b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gemma2:27b": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, # embedding models "shaw/dmeta-embedding-zh-small-q4": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "shaw/dmeta-embedding-zh-q4": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "chevalblanc/acge_text_embedding": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "martcreation/dmeta-embedding-zh": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "snowflake-arctic-embed": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mxbai-embed-large": { "token_limit": 512, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "oneapi": { @@ -503,6 +623,7 @@ models_params = { "token_limit": 6000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, } }, "nvidia": { @@ -510,81 +631,97 @@ models_params = { "token_limit": 419, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta/llama3-8b-instruct": { "token_limit": 419, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "nemotron-4-340b-instruct": { "token_limit": 1024, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "databricks/dbrx-instruct": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "google/codegemma-7b": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "google/gemma-2b": { "token_limit": 2048, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "google/gemma-7b": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "google/recurrentgemma-2b": { "token_limit": 2048, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta/codellama-70b": { "token_limit": 16384, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta/llama2-70b": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "microsoft/phi-3-mini-128k-instruct": { "token_limit": 122880, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistralai/mistral-7b-instruct-v0.2": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistralai/mistral-large": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistralai/mixtral-8x22b-instruct-v0.1": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistralai/mixtral-8x7b-instruct-v0.1": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "snowflake/arctic": { "token_limit": 16384, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "groq": { @@ -592,26 +729,31 @@ models_params = { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "llama3-70b-8192": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mixtral-8x7b-32768": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "gemma-7b-it": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude-3-haiku-20240307'": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "toghetherai": { @@ -619,71 +761,85 @@ models_params = { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistralai/Mixtral-8x22B-Instruct-v0.1": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "stabilityai/stable-diffusion-xl-base-1.0": { "token_limit": 2048, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "NousResearch/Hermes-3-Llama-3.1-405B-Turbo": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "Gryphe/MythoMax-L2-13b-Lite": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "Salesforce/Llama-Rank-V1": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta-llama/Meta-Llama-Guard-3-8B": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta-llama/Meta-Llama-3-70B-Instruct-Turbo": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta-llama/Llama-3-8b-chat-hf": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta-llama/Llama-3-70b-chat-hf": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "Qwen/Qwen2-72B-Instruct": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "google/gemma-2-27b-it": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "anthropic": { @@ -691,56 +847,67 @@ models_params = { "token_limit": 100000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude2": { "token_limit": 9000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude2.1": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude3": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude3.5": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude-3-opus-20240229": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude-3-sonnet-20240229": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude-3-haiku-20240307": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude-3-5-sonnet-20240620": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude-3-5-sonnet-20241022": { "token_limit": 200000, "supports_temperature": True, "default_temperature": 1.0, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude-3-5-haiku-latest": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "bedrock": { @@ -748,101 +915,121 @@ models_params = { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "anthropic.claude-3-sonnet-20240229-v1:0": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "anthropic.claude-3-opus-20240229-v1:0": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "anthropic.claude-3-5-sonnet-20240620-v1:0": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "claude-3-5-haiku-latest": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "anthropic.claude-v2:1": { "token_limit": 200000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "anthropic.claude-v2": { "token_limit": 100000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "anthropic.claude-instant-v1": { "token_limit": 100000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta.llama3-8b-instruct-v1:0": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta.llama3-70b-instruct-v1:0": { "token_limit": 8192, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta.llama2-13b-chat-v1": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "meta.llama2-70b-chat-v1": { "token_limit": 4096, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistral.mistral-7b-instruct-v0:2": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistral.mixtral-8x7b-instruct-v0:1": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistral.mistral-large-2402-v1:0": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "mistral.mistral-small-2402-v1:0": { "token_limit": 32768, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "amazon.titan-embed-text-v1": { "token_limit": 8000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "amazon.titan-embed-text-v2:0": { "token_limit": 8000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "cohere.embed-english-v3": { "token_limit": 512, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "cohere.embed-multilingual-v3": { "token_limit": 512, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "mistralai": { @@ -850,16 +1037,19 @@ models_params = { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "open-mistral-nemo": { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, "codestral-latest": { "token_limit": 32000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, }, }, "togetherai": { @@ -867,6 +1057,7 @@ models_params = { "token_limit": 128000, "supports_temperature": True, "default_temperature": DEFAULT_TEMPERATURE, + "latency_coefficient": DEFAULT_BASE_LATENCY, } }, }