ragflow/api
Qidi Cao 4d835b7303
fix: resolve “has no attribute 'max_length'” error in keyword_extraction (#7903)
### What problem does this PR solve?

**Issue Description:**

When using the `/api/retrieval` endpoint with a POST request and setting
the `keyword` parameter to `true`, the system invokes the
`model_instance` method from `TenantLLMService` to create a `chat_mdl`
instance. Subsequently, it calls the `keyword_extraction` method to
extract keywords.

However, within the `keyword_extraction` method, the `chat` function of
the LLM attempts to access the `chat_mdl.max_length` attribute to
validate input length. This results in the following error:

```
AttributeError: 'SILICONFLOWChat' object has no attribute 'max_length'
```

**Proposed Solution:**

Upon reviewing other parts of the codebase where `chat_mdl` instances
are created, it appears that utilizing `LLMBundle` for instantiation is
more appropriate. `LLMBundle` includes the `max_length` attribute, which
should resolve the encountered error.



### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
- [ ] New Feature (non-breaking change which adds functionality)
- [ ] Documentation Update
- [ ] Refactoring
- [ ] Performance Improvement
- [ ] Other (please describe):
2025-05-28 10:58:06 +08:00
..
apps fix: resolve “has no attribute 'max_length'” error in keyword_extraction (#7903) 2025-05-28 10:58:06 +08:00
db Fix: patch regex vulnerability in filename handling (#7887) 2025-05-27 16:35:37 +08:00
utils Refa: HTTP API list datasets / test cases / docs (#7720) 2025-05-20 09:58:26 +08:00
__init__.py Update comments (#4569) 2025-01-21 20:52:28 +08:00
constants.py Add more web test cases (#3702) 2024-11-28 15:46:35 +08:00
ragflow_server.py Feat: Support tool calling in Generate component (#7572) 2025-05-16 16:32:19 +08:00
settings.py Feat: change default models (#7777) 2025-05-23 18:21:25 +08:00
validation.py Fix errors detected by Ruff (#3918) 2024-12-08 14:21:12 +08:00
versions.py Fix VERSION 2024-12-07 16:56:34 +08:00