Commit graph

2297 commits

Author SHA1 Message Date
Paul Gauthier
0925c4b8b3 better 2024-04-26 06:13:40 -07:00
Paul Gauthier
e2d0a94d58 better 2024-04-26 06:12:07 -07:00
Paul Gauthier
7a6bce381e better 2024-04-26 06:11:56 -07:00
Paul Gauthier
6ebfd15a71 initial 2024-04-25 11:35:26 -07:00
Paul Gauthier
4b68376695 set version to 0.30.2-dev 2024-04-24 17:20:51 -07:00
Paul Gauthier
d6bd563fc3 version bump to 0.30.1 2024-04-24 17:20:13 -07:00
Paul Gauthier
c6d6171da0 set version to 0.30.1-dev 2024-04-23 17:40:19 -07:00
Paul Gauthier
b14ca861c1 version bump to 0.30.0 2024-04-23 17:39:41 -07:00
Paul Gauthier
29eb2f4681 seems to work better 2024-04-23 14:06:08 -07:00
Paul Gauthier
f9e122b9d7 Added --show-model-warnings 2024-04-23 12:15:37 -07:00
Paul Gauthier
01cf038bb5 Quiet litellm 2024-04-23 10:37:43 -07:00
Paul Gauthier
f92aecbf7a Allow repo map to work with whole edit format, for weaker models with large context 2024-04-23 10:21:54 -07:00
Paul Gauthier
341228b543 gemini benchmarked on whole so far 2024-04-23 09:53:27 -07:00
Paul Gauthier
9afa6e8435 Added gemini 1.5 pro 2024-04-23 09:49:48 -07:00
Paul Gauthier
c21118ce5c Use provider in the validate_environment workaround 2024-04-23 06:28:37 -07:00
Paul Gauthier
89a7b3470a Use fq model name in --models search 2024-04-22 19:17:27 -07:00
Paul Gauthier
25b8d6fec8 Added --models 2024-04-22 18:45:20 -07:00
Paul Gauthier
e2de881fb1 set version to 0.29.3-dev 2024-04-22 15:12:01 -07:00
Paul Gauthier
588c0157b3 version bump to 0.29.2 2024-04-22 15:11:25 -07:00
Paul Gauthier
da80e6af9e Work around litellm bug 2024-04-22 15:00:53 -07:00
Paul Gauthier
6901f92f96 refac 2024-04-22 14:42:46 -07:00
Paul Gauthier
efd3c39e50 Better unknown model warnings 2024-04-22 14:09:08 -07:00
Paul Gauthier
21df025fb9 Use whole and other defaults for claude-2 2024-04-22 12:01:39 -07:00
Paul Gauthier
30c095349a Don't assume gpt-3.5-turbo as the weak model, use main_model if unsure 2024-04-22 10:57:50 -07:00
Paul Gauthier
83c76a3c65 Don't stomp Model.name after a partial match against ModelSettings #568 2024-04-22 10:36:22 -07:00
Paul Gauthier
a9925d58af Updated AZURE env assignments in main, docs 2024-04-22 09:45:06 -07:00
Paul Gauthier
e44ddf4981 set version to 0.29.2-dev 2024-04-22 07:13:48 -07:00
Paul Gauthier
b7bdce28ed version bump to 0.29.1 2024-04-22 07:13:11 -07:00
Paul Gauthier
fd5b9bbfcb Added groq llama3 2024-04-22 07:12:01 -07:00
Paul Gauthier
3c2f753c94 set version to 0.29.1-dev 2024-04-21 13:04:36 -07:00
Paul Gauthier
77e8aee3be version bump to 0.29.0 2024-04-21 13:04:04 -07:00
Paul Gauthier
cd838901d1 Added improved editing support for command-r-plus 2024-04-20 16:53:27 -07:00
Paul Gauthier
b882d5db4c Do not require gpt-3.5 in GitRepo 2024-04-20 09:47:43 -07:00
Paul Gauthier
9b26eeb9eb Added validate_environment=False to tests 2024-04-20 08:18:27 -07:00
Paul Gauthier
6863b47e6a Check the environment inside Model 2024-04-20 08:09:17 -07:00
Paul Gauthier
e513174da4 Warn if litellm is not giving us good validate_environment() responses 2024-04-20 08:01:50 -07:00
Paul Gauthier
0969380ce9 copy 2024-04-19 16:42:25 -07:00
Paul Gauthier
05cdd9f2ec rename 2024-04-19 15:20:41 -07:00
Paul Gauthier
4e50f0d095 Support weak_model=False 2024-04-19 14:05:58 -07:00
Paul Gauthier
f81b62dfea Added --require-model-info 2024-04-19 14:01:02 -07:00
Paul Gauthier
aac110f078 copy 2024-04-19 13:45:51 -07:00
Paul Gauthier
6cecbd02d6 Document new model support 2024-04-19 13:18:12 -07:00
Paul Gauthier
f0f0c330d7 cleanup 2024-04-19 12:14:58 -07:00
Paul Gauthier
547ae142ba refactor tokenizer 2024-04-19 12:08:35 -07:00
Paul Gauthier
6f1cebc4c2 fix: do not stomp main model.info 2024-04-19 11:24:11 -07:00
Paul Gauthier
922559a15a Refactored error handling to display model name in case of unknown model. 2024-04-19 11:17:33 -07:00
Paul Gauthier
fb3285ff77 aider: Added a main function to allow running the script with a model name from the command line and printing the results.
# Aider chat conversation:

USER: add a main func so i can run this script with a model name on the cmd line and print the results

ASSISTANT: Here are the changes to add a `main` function that allows running the script with a model name from the command line and printing the results:

aider/models.py
```python
<<<<<<< SEARCH
=======
import sys

def main():
    if len(sys.argv) != 2:
        print("Usage: python models.py <model_name>")
        sys.exit(1)

    model_name = sys.argv[1]
    matching_models = fuzzy_match_models(model_name)

    if matching_models:
        print(f"Matching models for '{model_name}':")
        for model in matching_models:
            print(model)
    else:
        print(f"No matching models found for '{model_name}'.")

if __name__ == "__main__":
    main()
>>>>>>> REPLACE
```

The `main` function does the following:

1. It checks if the script is called with exactly one command-line argument (the model name). If not, it prints the usage instructions and exits with an error code.

2. It retrieves the model name from the command-line argument using `sys.argv[1]`.

3. It calls the `fuzzy_match_models` function with the provided model name to get the list of matching models.

4. If matching models are found, it prints a message indicating the matching models for the given model name and then prints each matching model on a separate line.

5. If no matching models are found, it prints a message indicating that no matching models were found for the given model name.

The `if __name__ == "__main__":` block ensures that the `main` function is only executed when the script is run directly, not when it is imported as a module.

With these changes, you can run the script from the command line by providing a model name as an argument, and it will print the matching models or a message if no matches are found.
2024-04-19 11:08:28 -07:00
Paul Gauthier
70b2f5d054 aider: Implemented the fuzzy_match_models function to search for models containing the given name or a slight misspelling.
# Aider chat conversation:

USER: implemenet the `fuzzy_match_models` function. takes the name of a LLM like "gpt-3.5" and searches the list of `models` to find models which contain the name or contain a slight misspelling of the name

ASSISTANT: Here is an implementation of the `fuzzy_match_models` function that searches for models containing the given name or a slight misspelling:

aider/models.py
```python
<<<<<<< SEARCH
def fuzzy_match_models(name):
    models = litellm.most_cost.keys()
=======
import difflib

def fuzzy_match_models(name):
    models = litellm.most_cost.keys()

    # Check for exact match first
    if name in models:
        return [name]

    # Check for models containing the name
    matching_models = [model for model in models if name in model]

    # If no matches found, check for slight misspellings
    if not matching_models:
        matching_models = difflib.get_close_matches(name, models, n=3, cutoff=0.8)

    return matching_models
>>>>>>> REPLACE
```

This implementation does the following:

1. It first checks if the given `name` exactly matches any model in the `models` list. If an exact match is found, it returns a list containing only that model name.

2. If no exact match is found, it searches for models that contain the given `name` as a substring. It uses a list comprehension to filter the `models` list and find models that include `name`.

3. If still no matches are found, it uses the `difflib.get_close_matches()` function to find models that are close matches to the given `name`. It searches for up to 3 close matches with a similarity ratio of at least 0.8 (80%).

4. Finally, it returns the list of matching models found either by exact match, substring match, or close match.

This implementation allows for fuzzy matching of model names, considering both exact matches and slight misspellings.
2024-04-19 11:07:32 -07:00
Paul Gauthier
7ef10c56a2 Added a fuzzy model matching function to find models by name. 2024-04-19 11:07:31 -07:00
Paul Gauthier
7ec4de865d Added --weak-model 2024-04-19 10:57:21 -07:00