2023-06-30 17:10:48 +08:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
"""
|
|
|
|
|
@Time : 2023/5/11 14:45
|
|
|
|
|
@Author : alexanderwu
|
|
|
|
|
@File : llm.py
|
|
|
|
|
"""
|
|
|
|
|
|
2023-12-23 21:56:19 +08:00
|
|
|
from typing import Optional
|
|
|
|
|
|
2023-12-19 18:04:12 +08:00
|
|
|
from metagpt.config import CONFIG, LLMProviderEnum
|
2023-12-26 17:54:52 +08:00
|
|
|
from metagpt.provider.base_llm import BaseLLM
|
2023-11-29 09:52:26 +08:00
|
|
|
from metagpt.provider.human_provider import HumanProvider
|
2023-12-19 18:02:51 +08:00
|
|
|
from metagpt.provider.llm_provider_registry import LLM_REGISTRY
|
2023-06-30 17:10:48 +08:00
|
|
|
|
2023-11-29 09:52:55 +08:00
|
|
|
_ = HumanProvider() # Avoid pre-commit error
|
2023-11-29 09:52:26 +08:00
|
|
|
|
2023-06-30 17:10:48 +08:00
|
|
|
|
2023-12-26 17:54:52 +08:00
|
|
|
def LLM(provider: Optional[LLMProviderEnum] = None) -> BaseLLM:
|
2023-12-19 18:04:12 +08:00
|
|
|
"""get the default llm provider"""
|
2023-12-23 21:56:19 +08:00
|
|
|
if provider is None:
|
|
|
|
|
provider = CONFIG.get_default_llm_provider_enum()
|
|
|
|
|
|
2023-12-19 18:04:12 +08:00
|
|
|
return LLM_REGISTRY.get_provider(provider)
|