Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/caileng_rtbagent.json
T

1 line
2.9 KiB
JSON

{"repo": "caileng/rtbagent", "files": {"metagpt/configs/llm_config.py": {"c067f1fb1618cc3f6acc77b35a2d2b3f9c9362ec": {"t": 1785674192.7278042, "n": 2608, "h": "5f6c3f2f57530805", "c": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\"\"\"\n@Time : 2024/1/4 16:33\n@Author : alexanderwu\n@File : llm_config.py\n\"\"\"\nfrom enum import Enum\nfrom typing import Optional\n\nfrom pydantic import field_validator\n\nfrom metagpt.utils.yaml_model import YamlModel\n\n\nclass LLMType(Enum):\n OPENAI = \"openai\"\n ANTHROPIC = \"anthropic\"\n CLAUDE = \"claude\" # alias name of anthropic\n SPARK = \"spark\"\n ZHIPUAI = \"zhipuai\"\n FIREWORKS = \"fireworks\"\n OPEN_LLM = \"open_llm\"\n GEMINI = \"gemini\"\n METAGPT = \"metagpt\"\n AZURE = \"azure\"\n OLLAMA = \"ollama\"\n QIANFAN = \"qianfan\" # Baidu BCE\n DASHSCOPE = \"dashscope\" # Aliyun LingJi DashScope\n MOONSHOT = \"moonshot\"\n MISTRAL = \"mistral\"\n BAICHUAN = \"baichuan\"\n LLAMA = \"llama\"\n QWEN = \"qwen\"\n YI = \"yi\" # lingyiwanwu\n\n def __missing__(self, key):\n return self.OPENAI\n\n\nclass LLMConfig(YamlModel):\n \"\"\"Config for LLM\n\n OpenAI: https://github.com/openai/openai-python/blob/main/src/openai/resources/chat/completions.py#L681\n Optional Fields in pydantic: https://docs.pydantic.dev/latest/migration/#required-optional-and-nullable-fields\n \"\"\"\n\n api_key: str = \"sk-\"\n api_type: LLMType = LLMType.OPENAI\n base_url: str = \"https://api.openai.com/v1\"\n api_version: Optional[str] = None\n\n model: Optional[str] = None # also stands for DEPLOYMENT_NAME\n pricing_plan: Optional[str] = None # Cost Settlement Plan Parameters.\n\n # For Cloud Service Provider like Baidu/ Alibaba\n access_key: Optional[str] = None\n secret_key: Optional[str] = None\n endpoint: Optional[str] = None # for self-deployed model on the cloud\n\n # For Spark(Xunfei), maybe remove later\n app_id: Optional[str] = None\n api_secret: Optional[str] = None\n domain: Optional[str] = None\n\n # For Chat Completion\n max_token: int = 4096\n temperature: float = 0.0\n top_p: float = 1.0\n top_k: int = 0\n repetition_penalty: float = 1.0\n stop: Optional[str] = None\n presence_penalty: float = 0.0\n frequency_penalty: float = 0.0\n best_of: Optional[int] = None\n n: Optional[int] = None\n stream: bool = False\n logprobs: Optional[bool] = None # https://cookbook.openai.com/examples/using_logprobs\n top_logprobs: Optional[int] = None\n timeout: int = 60\n\n # For Network\n proxy: Optional[str] = None\n\n # Cost Control\n calc_usage: bool = True\n\n @field_validator(\"api_key\")\n @classmethod\n def check_llm_key(cls, v):\n if v in [\"\", None, \"YOUR_API_KEY\"]:\n raise ValueError(\"Please set your API key in config2.yaml\")\n return v\n"}}}}