mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 11:42:29 +08:00
parent
024579febc
commit
a16a1fffb1
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true" class="" focusable="false" style="fill:currentColor;height:28px;width:28px"><path d="m3.005 8.858 8.783 12.544h3.904L6.908 8.858zM6.905 15.825 3 21.402h3.907l1.951-2.788zM16.585 2l-6.75 9.64 1.953 2.79L20.492 2zM17.292 7.965v13.437h3.2V3.395z"></path></svg>
|
|
Before Width: | Height: | Size: 356 B |
|
@ -1,63 +0,0 @@
|
||||||
model: grok-beta
|
|
||||||
label:
|
|
||||||
en_US: Grok beta
|
|
||||||
model_type: llm
|
|
||||||
features:
|
|
||||||
- multi-tool-call
|
|
||||||
model_properties:
|
|
||||||
mode: chat
|
|
||||||
context_size: 131072
|
|
||||||
parameter_rules:
|
|
||||||
- name: temperature
|
|
||||||
label:
|
|
||||||
en_US: "Temperature"
|
|
||||||
zh_Hans: "采样温度"
|
|
||||||
type: float
|
|
||||||
default: 0.7
|
|
||||||
min: 0.0
|
|
||||||
max: 2.0
|
|
||||||
precision: 1
|
|
||||||
required: true
|
|
||||||
help:
|
|
||||||
en_US: "The randomness of the sampling temperature control output. The temperature value is within the range of [0.0, 1.0]. The higher the value, the more random and creative the output; the lower the value, the more stable it is. It is recommended to adjust either top_p or temperature parameters according to your needs to avoid adjusting both at the same time."
|
|
||||||
zh_Hans: "采样温度控制输出的随机性。温度值在 [0.0, 1.0] 范围内,值越高,输出越随机和创造性;值越低,输出越稳定。建议根据需求调整 top_p 或 temperature 参数,避免同时调整两者。"
|
|
||||||
|
|
||||||
- name: top_p
|
|
||||||
label:
|
|
||||||
en_US: "Top P"
|
|
||||||
zh_Hans: "Top P"
|
|
||||||
type: float
|
|
||||||
default: 0.7
|
|
||||||
min: 0.0
|
|
||||||
max: 1.0
|
|
||||||
precision: 1
|
|
||||||
required: true
|
|
||||||
help:
|
|
||||||
en_US: "The value range of the sampling method is [0.0, 1.0]. The top_p value determines that the model selects tokens from the top p% of candidate words with the highest probability; when top_p is 0, this parameter is invalid. It is recommended to adjust either top_p or temperature parameters according to your needs to avoid adjusting both at the same time."
|
|
||||||
zh_Hans: "采样方法的取值范围为 [0.0,1.0]。top_p 值确定模型从概率最高的前p%的候选词中选取 tokens;当 top_p 为 0 时,此参数无效。建议根据需求调整 top_p 或 temperature 参数,避免同时调整两者。"
|
|
||||||
|
|
||||||
- name: frequency_penalty
|
|
||||||
use_template: frequency_penalty
|
|
||||||
label:
|
|
||||||
en_US: "Frequency Penalty"
|
|
||||||
zh_Hans: "频率惩罚"
|
|
||||||
type: float
|
|
||||||
default: 0
|
|
||||||
min: 0
|
|
||||||
max: 2.0
|
|
||||||
precision: 1
|
|
||||||
required: false
|
|
||||||
help:
|
|
||||||
en_US: "Used to adjust the frequency of repeated content in automatically generated text. Positive numbers reduce repetition, while negative numbers increase repetition. After setting this parameter, if a word has already appeared in the text, the model will decrease the probability of choosing that word for subsequent generation."
|
|
||||||
zh_Hans: "用于调整自动生成文本中重复内容的频率。正数减少重复,负数增加重复。设置此参数后,如果一个词在文本中已经出现过,模型在后续生成中选择该词的概率会降低。"
|
|
||||||
|
|
||||||
- name: user
|
|
||||||
use_template: text
|
|
||||||
label:
|
|
||||||
en_US: "User"
|
|
||||||
zh_Hans: "用户"
|
|
||||||
type: string
|
|
||||||
required: false
|
|
||||||
help:
|
|
||||||
en_US: "Used to track and differentiate conversation requests from different users."
|
|
||||||
zh_Hans: "用于追踪和区分不同用户的对话请求。"
|
|
|
@ -1,35 +0,0 @@
|
||||||
from collections.abc import Generator
|
|
||||||
from typing import Optional, Union
|
|
||||||
|
|
||||||
from yarl import URL
|
|
||||||
|
|
||||||
from core.model_runtime.entities.llm_entities import LLMMode, LLMResult
|
|
||||||
from core.model_runtime.entities.message_entities import (
|
|
||||||
PromptMessage,
|
|
||||||
PromptMessageTool,
|
|
||||||
)
|
|
||||||
from core.model_runtime.model_providers.openai_api_compatible.llm.llm import OAIAPICompatLargeLanguageModel
|
|
||||||
|
|
||||||
|
|
||||||
class XAILargeLanguageModel(OAIAPICompatLargeLanguageModel):
|
|
||||||
def _invoke(
|
|
||||||
self,
|
|
||||||
model: str,
|
|
||||||
credentials: dict,
|
|
||||||
prompt_messages: list[PromptMessage],
|
|
||||||
model_parameters: dict,
|
|
||||||
tools: Optional[list[PromptMessageTool]] = None,
|
|
||||||
stop: Optional[list[str]] = None,
|
|
||||||
stream: bool = True,
|
|
||||||
user: Optional[str] = None,
|
|
||||||
) -> Union[LLMResult, Generator]:
|
|
||||||
return super()._invoke(model, credentials, prompt_messages, model_parameters, tools, stop, stream)
|
|
||||||
|
|
||||||
def validate_credentials(self, model: str, credentials: dict) -> None:
|
|
||||||
self._add_custom_parameters(credentials)
|
|
||||||
super().validate_credentials(model, credentials)
|
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def _add_custom_parameters(credentials) -> None:
|
|
||||||
credentials["endpoint_url"] = str(URL(credentials["api_base"]) / "v1")
|
|
||||||
credentials["mode"] = LLMMode.CHAT.value
|
|
|
@ -1,25 +0,0 @@
|
||||||
import logging
|
|
||||||
|
|
||||||
from core.model_runtime.entities.model_entities import ModelType
|
|
||||||
from core.model_runtime.errors.validate import CredentialsValidateFailedError
|
|
||||||
from core.model_runtime.model_providers.__base.model_provider import ModelProvider
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
|
|
||||||
class XAIProvider(ModelProvider):
|
|
||||||
def validate_provider_credentials(self, credentials: dict) -> None:
|
|
||||||
"""
|
|
||||||
Validate provider credentials
|
|
||||||
if validate failed, raise exception
|
|
||||||
|
|
||||||
:param credentials: provider credentials, credentials form defined in `provider_credential_schema`.
|
|
||||||
"""
|
|
||||||
try:
|
|
||||||
model_instance = self.get_model_instance(ModelType.LLM)
|
|
||||||
model_instance.validate_credentials(model="grok-beta", credentials=credentials)
|
|
||||||
except CredentialsValidateFailedError as ex:
|
|
||||||
raise ex
|
|
||||||
except Exception as ex:
|
|
||||||
logger.exception(f"{self.get_provider_schema().provider} credentials validate failed")
|
|
||||||
raise ex
|
|
|
@ -1,38 +0,0 @@
|
||||||
provider: x
|
|
||||||
label:
|
|
||||||
en_US: xAI
|
|
||||||
description:
|
|
||||||
en_US: xAI is a company working on building artificial intelligence to accelerate human scientific discovery. We are guided by our mission to advance our collective understanding of the universe.
|
|
||||||
icon_small:
|
|
||||||
en_US: x-ai-logo.svg
|
|
||||||
icon_large:
|
|
||||||
en_US: x-ai-logo.svg
|
|
||||||
help:
|
|
||||||
title:
|
|
||||||
en_US: Get your token from xAI
|
|
||||||
zh_Hans: 从 xAI 获取 token
|
|
||||||
url:
|
|
||||||
en_US: https://x.ai/api
|
|
||||||
supported_model_types:
|
|
||||||
- llm
|
|
||||||
configurate_methods:
|
|
||||||
- predefined-model
|
|
||||||
provider_credential_schema:
|
|
||||||
credential_form_schemas:
|
|
||||||
- variable: api_key
|
|
||||||
label:
|
|
||||||
en_US: API Key
|
|
||||||
type: secret-input
|
|
||||||
required: true
|
|
||||||
placeholder:
|
|
||||||
zh_Hans: 在此输入您的 API Key
|
|
||||||
en_US: Enter your API Key
|
|
||||||
- variable: api_base
|
|
||||||
label:
|
|
||||||
en_US: API Base
|
|
||||||
type: text-input
|
|
||||||
required: false
|
|
||||||
default: https://api.x.ai
|
|
||||||
placeholder:
|
|
||||||
zh_Hans: 在此输入您的 API Base
|
|
||||||
en_US: Enter your API Base
|
|
Loading…
Reference in New Issue
Block a user