Files
ragflow/conf/models/openai.json
Jin Hai e20cf39735 Refactor Go server model provider reading and access (#13831)
### What problem does this PR solve?

1. Refactor model provider json file format
2. Use memory data structure to replace database
3. Add CLI command to access

```
RAGFlow(user)> list pool models from 'xai';
+-------------------------------------------------------------------------------------+------------+-------------+-----------------------+
| features                                                                            | max_tokens | model_types | name                  |
+-------------------------------------------------------------------------------------+------------+-------------+-----------------------+
| map[]                                                                               | 256000     | [llm]       | grok-4                |
| map[]                                                                               | 131072     | [llm]       | grok-3                |
| map[]                                                                               | 131072     | [llm]       | grok-3-fast           |
| map[]                                                                               | 131072     | [llm]       | grok-3-mini           |
| map[]                                                                               | 131072     | [llm]       | grok-3-mini-mini-fast |
| map[multimodal:map[enabled:true input_modalities:[image] output_modalities:[text]]] | 32768      | [vlm]       | grok-2-vision         |
+-------------------------------------------------------------------------------------+------------+-------------+-----------------------+
RAGFlow(user)> show pool model 'grok-2-vision' from 'xai';
+-------------------------------------------------------------------------------------+------------+-------------+---------------+
| features                                                                            | max_tokens | model_types | name          |
+-------------------------------------------------------------------------------------+------------+-------------+---------------+
| map[multimodal:map[enabled:true input_modalities:[image] output_modalities:[text]]] | 32768      | [vlm]       | grok-2-vision |
+-------------------------------------------------------------------------------------+------------+-------------+---------------+
RAGFlow(user)> list pool providers;
+--------+------------------------------------------------------------+---------------------------+
| name   | tags                                                       | url                       |
+--------+------------------------------------------------------------+---------------------------+
| OpenAI | LLM,TEXT EMBEDDING,TTS,TEXT RE-RANK,SPEECH2TEXT,MODERATION | https://api.openai.com/v1 |
| xAI    | LLM                                                        | https://api.x.ai/v1       |
+--------+------------------------------------------------------------+---------------------------+
RAGFlow(user)> show pool provider 'openai';
+---------------------------+--------+------------------------------------------------------------+--------------+
| base_url                  | name   | tags                                                       | total_models |
+---------------------------+--------+------------------------------------------------------------+--------------+
| https://api.openai.com/v1 | OpenAI | LLM,TEXT EMBEDDING,TTS,TEXT RE-RANK,SPEECH2TEXT,MODERATION | 27           |
+---------------------------+--------+------------------------------------------------------------+--------------+
```

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
- [x] Refactoring

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-03-30 12:00:49 +08:00

239 lines
4.0 KiB
JSON

{
"name": "OpenAI",
"tags": "LLM,TEXT EMBEDDING,TTS,TEXT RE-RANK,SPEECH2TEXT,MODERATION",
"url": "https://api.openai.com/v1",
"models": [
{
"name": "gpt-5.2-pro",
"max_tokens": 400000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-5.2",
"max_tokens": 400000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-5.1",
"max_tokens": 400000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-5.1-chat-latest",
"max_tokens": 400000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-5",
"max_tokens": 400000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-5-mini",
"max_tokens": 400000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-5-nano",
"max_tokens": 400000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-5-chat-latest",
"max_tokens": 400000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-4.1",
"max_tokens": 1047576,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-4.1-mini",
"max_tokens": 1047576,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-4.1-nano",
"max_tokens": 1047576,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-4.5-preview",
"max_tokens": 128000,
"model_types": [
"llm"
],
"features": {}
},
{
"name": "o3",
"max_tokens": 200000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "o4-mini",
"max_tokens": 200000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "o4-mini-high",
"max_tokens": 200000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-4o-mini",
"max_tokens": 128000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-4o",
"max_tokens": 128000,
"model_types": [
"llm",
"vlm"
],
"features": {}
},
{
"name": "gpt-3.5-turbo",
"max_tokens": 4096,
"model_types": [
"llm"
],
"features": {}
},
{
"name": "gpt-3.5-turbo-16k-0613",
"max_tokens": 16385,
"model_types": [
"llm"
],
"features": {}
},
{
"name": "text-embedding-ada-002",
"max_tokens": 8191,
"model_types": [
"embedding"
],
"features": {}
},
{
"name": "text-embedding-3-small",
"max_tokens": 8191,
"model_types": [
"embedding"
],
"features": {}
},
{
"name": "text-embedding-3-large",
"max_tokens": 8191,
"model_types": [
"embedding"
],
"features": {}
},
{
"name": "whisper-1",
"max_tokens": 26214400,
"model_types": [
"speech2text"
],
"features": {}
},
{
"name": "gpt-4",
"max_tokens": 8191,
"model_types": [
"llm"
],
"features": {}
},
{
"name": "gpt-4-turbo",
"max_tokens": 8191,
"model_types": [
"llm"
],
"features": {}
},
{
"name": "gpt-4-32k",
"max_tokens": 32768,
"model_types": [
"llm"
],
"features": {}
},
{
"name": "tts-1",
"max_tokens": 2048,
"model_types": [
"tts"
],
"features": {}
}
]
}