feat: add support for copilot provider

This commit is contained in:
Son H. Nguyen 2025-02-13 22:53:37 +07:00
parent d918b089c6
commit e394d45513
9 changed files with 296 additions and 1 deletions

View file

@ -0,0 +1,29 @@
from typing import Optional, Tuple
from litellm.llms.openai.openai import OpenAIConfig
from ..authenticator import Authenticator
class GithubCopilotConfig(OpenAIConfig):
def __init__(
self,
api_key: Optional[str] = None,
api_base: Optional[str] = None,
custom_llm_provider: str = "openai",
) -> None:
super().__init__()
self.authenticator = Authenticator()
def _get_openai_compatible_provider_info(
self,
model: str,
api_base: Optional[str],
api_key: Optional[str],
custom_llm_provider: str,
) -> Tuple[Optional[str], Optional[str], str]:
api_base = "https://api.githubcopilot.com"
dynamic_api_key = self.authenticator.get_api_key()
return api_base, dynamic_api_key, custom_llm_provider