feat(knowledge): add configuration components and refactor general form

feat(hooks): add llm-related hooks and constants
docs: add architecture analysis for reference projects
This commit is contained in:
2025-10-15 16:24:53 +08:00
parent 486815d83e
commit fe8747983e
33 changed files with 2627 additions and 812 deletions

126
src/constants/llm.ts Normal file
View File

@@ -0,0 +1,126 @@
export const LLM_FACTORY_LIST = Object.freeze({
TongYiQianWen: 'Tongyi-Qianwen',
Moonshot: 'Moonshot',
OpenAI: 'OpenAI',
ZhipuAI: 'ZHIPU-AI',
WenXinYiYan: '文心一言',
Ollama: 'Ollama',
Xinference: 'Xinference',
ModelScope: 'ModelScope',
DeepSeek: 'DeepSeek',
VolcEngine: 'VolcEngine',
BaiChuan: 'BaiChuan',
Jina: 'Jina',
MiniMax: 'MiniMax',
Mistral: 'Mistral',
AzureOpenAI: 'Azure-OpenAI',
Bedrock: 'Bedrock',
Gemini: 'Gemini',
Groq: 'Groq',
OpenRouter: 'OpenRouter',
LocalAI: 'LocalAI',
StepFun: 'StepFun',
NVIDIA: 'NVIDIA',
LMStudio: 'LM-Studio',
OpenAiAPICompatible: 'OpenAI-API-Compatible',
Cohere: 'Cohere',
LeptonAI: 'LeptonAI',
TogetherAI: 'TogetherAI',
PerfXCloud: 'PerfXCloud',
Upstage: 'Upstage',
NovitaAI: 'NovitaAI',
SILICONFLOW: 'SILICONFLOW',
PPIO: 'PPIO',
ZeroOneAI: '01.AI',
Replicate: 'Replicate',
TencentHunYuan: 'Tencent Hunyuan',
XunFeiSpark: 'XunFei Spark',
BaiduYiYan: 'BaiduYiyan',
FishAudio: 'Fish Audio',
TencentCloud: 'Tencent Cloud',
Anthropic: 'Anthropic',
VoyageAI: 'Voyage AI',
GoogleCloud: 'Google Cloud',
HuggingFace: 'HuggingFace',
YouDao: 'Youdao',
BAAI: 'BAAI',
NomicAI: 'nomic-ai',
JinaAI: 'jinaai',
SentenceTransformers: 'sentence-transformers',
GPUStack: 'GPUStack',
VLLM: 'VLLM',
GiteeAI: 'GiteeAI',
Ai302: '302.AI',
DeepInfra: 'DeepInfra',
Grok: 'Grok',
XAI: 'xAI',
TokenPony: 'TokenPony',
Meituan: 'Meituan',
CometAPI: 'CometAPI',
DeerAPI: 'DeerAPI',
} as const);
export type LLMFactory = (typeof LLM_FACTORY_LIST)[keyof typeof LLM_FACTORY_LIST];
// Please lowercase the file name
export const IconMap = {
[LLM_FACTORY_LIST.TongYiQianWen]: 'tongyi',
[LLM_FACTORY_LIST.Moonshot]: 'moonshot',
[LLM_FACTORY_LIST.OpenAI]: 'openai',
[LLM_FACTORY_LIST.ZhipuAI]: 'zhipu',
[LLM_FACTORY_LIST.WenXinYiYan]: 'wenxin',
[LLM_FACTORY_LIST.Ollama]: 'ollama',
[LLM_FACTORY_LIST.Xinference]: 'xinference',
[LLM_FACTORY_LIST.ModelScope]: 'modelscope',
[LLM_FACTORY_LIST.DeepSeek]: 'deepseek',
[LLM_FACTORY_LIST.VolcEngine]: 'volc_engine',
[LLM_FACTORY_LIST.BaiChuan]: 'baichuan',
[LLM_FACTORY_LIST.Jina]: 'jina',
[LLM_FACTORY_LIST.MiniMax]: 'chat-minimax',
[LLM_FACTORY_LIST.Mistral]: 'mistral',
[LLM_FACTORY_LIST.AzureOpenAI]: 'azure',
[LLM_FACTORY_LIST.Bedrock]: 'bedrock',
[LLM_FACTORY_LIST.Gemini]: 'gemini',
[LLM_FACTORY_LIST.Groq]: 'groq-next',
[LLM_FACTORY_LIST.OpenRouter]: 'open-router',
[LLM_FACTORY_LIST.LocalAI]: 'local-ai',
[LLM_FACTORY_LIST.StepFun]: 'stepfun',
[LLM_FACTORY_LIST.NVIDIA]: 'nvidia',
[LLM_FACTORY_LIST.LMStudio]: 'lm-studio',
[LLM_FACTORY_LIST.OpenAiAPICompatible]: 'openai-api',
[LLM_FACTORY_LIST.Cohere]: 'cohere',
[LLM_FACTORY_LIST.LeptonAI]: 'lepton-ai',
[LLM_FACTORY_LIST.TogetherAI]: 'together-ai',
[LLM_FACTORY_LIST.PerfXCloud]: 'perfx-cloud',
[LLM_FACTORY_LIST.Upstage]: 'upstage',
[LLM_FACTORY_LIST.NovitaAI]: 'novita-ai',
[LLM_FACTORY_LIST.SILICONFLOW]: 'siliconflow',
[LLM_FACTORY_LIST.PPIO]: 'ppio',
[LLM_FACTORY_LIST.ZeroOneAI]: 'yi',
[LLM_FACTORY_LIST.Replicate]: 'replicate',
[LLM_FACTORY_LIST.TencentHunYuan]: 'hunyuan',
[LLM_FACTORY_LIST.XunFeiSpark]: 'spark',
[LLM_FACTORY_LIST.BaiduYiYan]: 'yiyan',
[LLM_FACTORY_LIST.FishAudio]: 'fish-audio',
[LLM_FACTORY_LIST.TencentCloud]: 'tencent-cloud',
[LLM_FACTORY_LIST.Anthropic]: 'anthropic',
[LLM_FACTORY_LIST.VoyageAI]: 'voyage',
[LLM_FACTORY_LIST.GoogleCloud]: 'google-cloud',
[LLM_FACTORY_LIST.HuggingFace]: 'huggingface',
[LLM_FACTORY_LIST.YouDao]: 'youdao',
[LLM_FACTORY_LIST.BAAI]: 'baai',
[LLM_FACTORY_LIST.NomicAI]: 'nomic-ai',
[LLM_FACTORY_LIST.JinaAI]: 'jina',
[LLM_FACTORY_LIST.SentenceTransformers]: 'sentence-transformers',
[LLM_FACTORY_LIST.GPUStack]: 'gpustack',
[LLM_FACTORY_LIST.VLLM]: 'vllm',
[LLM_FACTORY_LIST.GiteeAI]: 'gitee-ai',
[LLM_FACTORY_LIST.Ai302]: 'ai302',
[LLM_FACTORY_LIST.DeepInfra]: 'deepinfra',
[LLM_FACTORY_LIST.Grok]: 'grok',
[LLM_FACTORY_LIST.XAI]: 'xai',
[LLM_FACTORY_LIST.TokenPony]: 'token-pony',
[LLM_FACTORY_LIST.Meituan]: 'longcat',
[LLM_FACTORY_LIST.CometAPI]: 'cometapi',
[LLM_FACTORY_LIST.DeerAPI]: 'deerapi',
};