Quellcode durchsuchen

feat: vision parameter support of OpenAI Compatible API (#3272)

tags/0.6.2
takatost vor 1 Jahr
Ursprung
Commit
97d1e0bbbb
Es ist kein Account mit der E-Mail-Adresse des Committers verbunden

+ 9
- 5
api/core/model_runtime/model_providers/openai_api_compatible/llm/llm.py Datei anzeigen

""" """
generate custom model entities from credentials generate custom model entities from credentials
""" """
support_function_call = False
features = [] features = []

function_calling_type = credentials.get('function_calling_type', 'no_call') function_calling_type = credentials.get('function_calling_type', 'no_call')
if function_calling_type == 'function_call': if function_calling_type == 'function_call':
features = [ModelFeature.TOOL_CALL]
support_function_call = True
features.append(ModelFeature.TOOL_CALL)
endpoint_url = credentials["endpoint_url"] endpoint_url = credentials["endpoint_url"]
# if not endpoint_url.endswith('/'): # if not endpoint_url.endswith('/'):
# endpoint_url += '/' # endpoint_url += '/'
# if 'https://api.openai.com/v1/' == endpoint_url: # if 'https://api.openai.com/v1/' == endpoint_url:
# features = [ModelFeature.STREAM_TOOL_CALL]
# features.append(ModelFeature.STREAM_TOOL_CALL)

vision_support = credentials.get('vision_support', 'not_support')
if vision_support == 'support':
features.append(ModelFeature.VISION)

entity = AIModelEntity( entity = AIModelEntity(
model=model, model=model,
label=I18nObject(en_US=model), label=I18nObject(en_US=model),
model_type=ModelType.LLM, model_type=ModelType.LLM,
fetch_from=FetchFrom.CUSTOMIZABLE_MODEL, fetch_from=FetchFrom.CUSTOMIZABLE_MODEL,
features=features if support_function_call else [],
features=features,
model_properties={ model_properties={
ModelPropertyKey.CONTEXT_SIZE: int(credentials.get('context_size', "4096")), ModelPropertyKey.CONTEXT_SIZE: int(credentials.get('context_size', "4096")),
ModelPropertyKey.MODE: credentials.get('mode'), ModelPropertyKey.MODE: credentials.get('mode'),

+ 19
- 0
api/core/model_runtime/model_providers/openai_api_compatible/openai_api_compatible.yaml Datei anzeigen

label: label:
en_US: Not Support en_US: Not Support
zh_Hans: 不支持 zh_Hans: 不支持
- variable: vision_support
show_on:
- variable: __model_type
value: llm
label:
zh_Hans: Vision 支持
en_US: Vision Support
type: select
required: false
default: no_support
options:
- value: support
label:
en_US: Support
zh_Hans: 支持
- value: no_support
label:
en_US: Not Support
zh_Hans: 不支持
- variable: stream_mode_delimiter - variable: stream_mode_delimiter
label: label:
zh_Hans: 流模式返回结果的分隔符 zh_Hans: 流模式返回结果的分隔符

Laden…
Abbrechen
Speichern