diff --git a/conf/llm_factories.json b/conf/llm_factories.json index 476307206..b649530fc 100644 --- a/conf/llm_factories.json +++ b/conf/llm_factories.json @@ -219,6 +219,70 @@ } ] }, + { + "name": "TokenPony", + "logo": "", + "tags": "LLM", + "status": "1", + "llm": [ + { + "llm_name": "qwen3-8b", + "tags": "LLM,CHAT,131k", + "max_tokens": 131000, + "model_type": "chat", + "is_tools": true + }, + { + "llm_name": "deepseek-v3-0324", + "tags": "LLM,CHAT,128k", + "max_tokens": 128000, + "model_type": "chat", + "is_tools": true + }, + { + "llm_name": "qwen3-32b", + "tags": "LLM,CHAT,131k", + "max_tokens": 131000, + "model_type": "chat", + "is_tools": true + }, + { + "llm_name": "kimi-k2-instruct", + "tags": "LLM,CHAT,128K", + "max_tokens": 128000, + "model_type": "chat", + "is_tools": true + }, + { + "llm_name": "deepseek-r1-0528", + "tags": "LLM,CHAT,164k", + "max_tokens": 164000, + "model_type": "chat", + "is_tools": true + }, + { + "llm_name": "qwen3-coder-480b", + "tags": "LLM,CHAT,1024k", + "max_tokens": 1024000, + "model_type": "chat", + "is_tools": true + }, + { + "llm_name": "glm-4.5", + "tags": "LLM,CHAT,131K", + "max_tokens": 131000, + "model_type": "chat", + "is_tools": true + }, + { + "llm_name": "deepseek-v3.1", + "tags": "LLM,CHAT,128k", + "max_tokens": 128000, + "model_type": "chat", + "is_tools": true + } + ] + }, { "name": "Tongyi-Qianwen", "logo": "", diff --git a/rag/llm/chat_model.py b/rag/llm/chat_model.py index bb04b520c..5ea610a8b 100644 --- a/rag/llm/chat_model.py +++ b/rag/llm/chat_model.py @@ -1356,6 +1356,14 @@ class Ai302Chat(Base): super().__init__(key, model_name, base_url, **kwargs) +class TokenPonyChat(Base): + _FACTORY_NAME = "TokenPony" + + def __init__(self, key, model_name, base_url="https://ragflow.vip-api.tokenpony.cn/v1", **kwargs): + if not base_url: + base_url = "https://ragflow.vip-api.tokenpony.cn/v1" + + class MeituanChat(Base): _FACTORY_NAME = "Meituan" diff --git a/web/src/assets/svg/llm/token-pony.svg b/web/src/assets/svg/llm/token-pony.svg new file mode 100644 index 000000000..a504e2224 --- /dev/null +++ b/web/src/assets/svg/llm/token-pony.svg @@ -0,0 +1,8 @@ + + + logo2 + + + + + \ No newline at end of file diff --git a/web/src/constants/llm.ts b/web/src/constants/llm.ts index 2fde6aced..241afcb4a 100644 --- a/web/src/constants/llm.ts +++ b/web/src/constants/llm.ts @@ -54,6 +54,7 @@ export enum LLMFactory { DeepInfra = 'DeepInfra', Grok = 'Grok', XAI = 'xAI', + TokenPony = 'TokenPony', Meituan = 'Meituan', } @@ -114,5 +115,6 @@ export const IconMap = { [LLMFactory.DeepInfra]: 'deepinfra', [LLMFactory.Grok]: 'grok', [LLMFactory.XAI]: 'xai', + [LLMFactory.TokenPony]: 'token-pony', [LLMFactory.Meituan]: 'longcat', }; diff --git a/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx b/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx index 988c51d54..dd86b5796 100644 --- a/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx +++ b/web/src/pages/user-setting/setting-model/ollama-modal/index.tsx @@ -37,6 +37,7 @@ const llmFactoryToUrlMap = { 'https://huggingface.co/docs/text-embeddings-inference/quick_tour', [LLMFactory.GPUStack]: 'https://docs.gpustack.ai/latest/quickstart', [LLMFactory.VLLM]: 'https://docs.vllm.ai/en/latest/', + [LLMFactory.TokenPony]: 'https://docs.tokenpony.cn/#/', }; type LlmFactory = keyof typeof llmFactoryToUrlMap;