Files
supersonic/headless/python/instances/llm_instance.py

26 lines
1.1 KiB
Python

# -*- coding:utf-8 -*-
from langchain import llms
import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from config.config_parse import LLM_PROVIDER_NAME, llm_config_dict
def get_llm(llm_config: dict):
if LLM_PROVIDER_NAME in llms.type_to_cls_dict:
llm_provider = llms.type_to_cls_dict[LLM_PROVIDER_NAME]
if llm_config is None or llm_config["baseUrl"] is None or llm_config["baseUrl"] == '':
llm = llm_provider(**llm_config_dict)
else:
openai_llm_config = {}
openai_llm_config["model_name"] = llm_config["modelName"]
openai_llm_config["openai_api_base"] = llm_config["baseUrl"]
openai_llm_config["openai_api_key"] = llm_config["apiKey"]
openai_llm_config["temperature"] = llm_config["temperature"]
llm = llm_provider(**openai_llm_config)
return llm
else:
raise Exception("llm_provider_name is not supported: {}".format(LLM_PROVIDER_NAME))