-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Expand file tree
/
Copy pathllm.py
More file actions
38 lines (30 loc) · 1.1 KB
/
llm.py
File metadata and controls
38 lines (30 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# coding=utf-8
"""
@project: maxkb
@Author:虎
@file: llm.py
@date:2024/4/18 15:28
@desc:
"""
from typing import Dict
from common.config.tokenizer_manage_config import TokenizerManage
from models_provider.base_model_provider import MaxKBBaseModel
from models_provider.impl.base_chat_open_ai import BaseChatOpenAI
def custom_get_token_ids(text: str):
tokenizer = TokenizerManage.get_tokenizer()
return tokenizer.encode(text)
class TencentCloudChatModel(MaxKBBaseModel, BaseChatOpenAI):
@staticmethod
def is_cache_model():
return False
@staticmethod
def new_instance(model_type, model_name, model_credential: Dict[str, object], **model_kwargs):
optional_params = MaxKBBaseModel.filter_optional_params(model_kwargs)
azure_chat_open_ai = TencentCloudChatModel(
model=model_name,
openai_api_base=model_credential.get('api_base'),
openai_api_key=model_credential.get('api_key'),
extra_body=optional_params,
custom_get_token_ids=custom_get_token_ids
)
return azure_chat_open_ai