aider/aider/models/model.py
2023-08-23 21:26:27 +12:00

37 lines
902 B
Python

import openai
class Model:
name = None
edit_format = None
max_context_tokens = 0
tokenizer = None
always_available = False
use_repo_map = False
send_undo_reply = False
prompt_price = None
completion_price = None
openai=None
@classmethod
def create(cls, name, **kwargs):
from .openai import OpenAIModel
from .openrouter import OpenRouterModel
if ("openrouter.ai" in openai.api_base):
return OpenRouterModel(name, **kwargs)
return OpenAIModel(name, **kwargs)
def __str__(self):
return self.name
@staticmethod
def strong_model():
return Model.create('gpt-4')
@staticmethod
def weak_model():
return Model.create('gpt-3.5-turbo')
@staticmethod
def commit_message_models():
return [Model.create('gpt-3.5-turbo'), Model.create('gpt-3.5-turbo-16k')]