finishing openrouter integration

This commit is contained in:
Joshua Vial 2023-08-23 21:26:27 +12:00
parent 1fc2abe3d0
commit abbc93678b
9 changed files with 32 additions and 46 deletions

View file

@ -2,6 +2,6 @@ from .openai import OpenAIModel
from .openrouter import OpenRouterModel
from .model import Model
GPT4 = Model("gpt-4")
GPT35 = Model("gpt-3.5-turbo")
GPT35_16k = Model("gpt-3.5-turbo-16k")
GPT4 = Model.create('gpt-4')
GPT35 = Model.create('gpt-3.5-turbo')
GPT35_16k = Model.create('gpt-3.5-turbo-16k')

View file

@ -1,6 +1,4 @@
saved_openai = None
import openai
class Model:
name = None
edit_format = None
@ -13,40 +11,27 @@ class Model:
prompt_price = None
completion_price = None
openai=None
def __init__(self, name, openai=None):
global saved_openai
if (openai and "openrouter.ai" in openai.api_base):
saved_openai = openai
@classmethod
def create(cls, name, **kwargs):
from .openai import OpenAIModel
from .openrouter import OpenRouterModel
model = None
if saved_openai:
model = OpenRouterModel(name, saved_openai)
else:
model = OpenAIModel(name)
self.name = model.name
self.edit_format = model.edit_format
self.max_context_tokens = model.max_context_tokens
self.tokenizer = model.tokenizer
self.prompt_price = model.prompt_price
self.completion_price = model.completion_price
self.always_available = model.always_available
self.use_repo_map = model.use_repo_map
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('gpt-4')
return Model.create('gpt-4')
@staticmethod
def weak_model():
return Model('gpt-3.5-turbo')
return Model.create('gpt-3.5-turbo')
@staticmethod
def commit_message_models():
return [Model('gpt-3.5-turbo'), Model('gpt-3.5-turbo-16k')]
return [Model.create('gpt-3.5-turbo'), Model.create('gpt-3.5-turbo-16k')]

View file

@ -1,3 +1,4 @@
import openai
import tiktoken
from .model import Model
@ -5,7 +6,7 @@ cached_model_details = None
class OpenRouterModel(Model):
def __init__(self, name, openai):
def __init__(self, name):
if name == 'gpt-4':
name = 'openai/gpt-4'
elif name == 'gpt-3.5-turbo':