Files
chat-bot/core/config.py
lychang 64ce30fdfd init
2025-08-26 09:35:29 +08:00

95 lines
2.2 KiB
Python

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Filename: config.py
# @Author: lychang
# @Time: 7/5/2023 1:51 PM
import os
from dotenv import load_dotenv
load_dotenv()
class Configuration:
def __init__(self):
self.api_uri = os.getenv(
"OPENAI_API_BASE"
)
self.api_key = os.getenv(
"OPENAI_API_KEY"
)
self.think_model = os.getenv(
"THINK_MODEL"
)
self.llm_model = os.getenv(
"LLM_MODEL"
)
self.vision_model = os.getenv(
"VISION_MODEL"
)
self.db_uri = os.getenv(
"DATABASE"
)
self.assistant_name = os.getenv(
"ASSISTANT_NAME"
)
self.company_name = os.getenv(
"COMPANY_NAME"
)
conf = Configuration()
class ModelConfiguration:
def __init__(self):
self.CONFIG = {
"deepseek-chat": {
"name": "deepseek-chat",
"type": "llm",
"temperature": 0.1
},
"deepseek-r1": {
"name": "deepseek-r1",
"type": "llm",
"temperature": 0.1
},
"default": {
"type": "llm",
"temperature": 0.1
},
"qwen3:8b":{
"type": "llm",
"temperature": 0.1,
"thinking":True
},
"minicpm-v": {
"type": "vision",
"temperature": 0.1
},
"text-embedding-ada-002": {
"name": "text-embedding-ada-002",
"type": "embedding"
},
"bge-large": {
"name": "bge-large",
"type": "embedding"
}
}
@property
def models(self) -> list[str]:
return [i for i in self.CONFIG]
def get(self, name) -> dict:
temp = self.CONFIG.get(name, self.CONFIG["default"])
if "name" not in temp:
temp["name"] = name
temp["host"] = conf.api_uri
temp["key"] = conf.api_key
return temp
model_conf = ModelConfiguration()