Feature request: Upgrade from unclecode-litellm to current upstream LiteLLM for newer reasoning models
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
Línea de trabajo
Start with the unclecode-litellm==1.81.13 pin in pyproject.toml, then read perform_completion_with_backoff() and aperform_completion_with_backoff() plus the LLMExtractionStrategy code that consumes response.choices[0].message.content. Coordinate with #2098 on the dependency replacement before changing anything. Done means a security-reviewed upstream LiteLLM pin, regression tests against GPT-4.1 and GPT-5.x, and documented model/API settings.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
Would you consider replacing the pinned unclecode-litellm==1.81.13 dependency with a recent, maintained, security-reviewed version of upstream litellm, and validating the compatibility of LLMExtractionStrategy with newer reasoning models (including GPT-5.6 deployments such as Luna and Sol)?
Thank you for maintaining Crawl4AI. This request is motivated by practical issues with LLM-based extraction in enterprise RAG pipelines.
Current state
The current pyproject.toml on main still pins:
"unclecode-litellm==1.81.13",
That fork was introduced during the upstream LiteLLM PyPI supply-chain incident. The official LiteLLM project has since continued adding support for newer models and their API requirements, whereas the pinned fork remains on the earlier codebase.
Why this matters
In our usage, LLMExtractionStrategy performs noticeably worse with newer GPT-5.6 Luna/Sol deployments than with GPT-4.1 under comparable extraction tasks. We have not isolated the root cause, so we are not claiming that the dependency pin alone is responsible. However, the old integration layer may not fully recognize or correctly handle newer model capabilities and parameters.
Areas worth investigating:
- Model identification and provider routing for newer OpenAI / Azure OpenAI deployments, including deployments behind enterprise API gateways.
- Chat Completions vs. Responses API handling, where applicable.
- Reasoning-specific output/token parameters (e.g.,
max_completion_tokens), unsupported sampling arguments, and completion truncation. - Normalization of response content, token usage, and structured JSON extraction.
- Silent dropping of unsupported arguments via
litellm.drop_params = True.
Crawl4AI's perform_completion_with_backoff() / aperform_completion_with_backoff() set temperature=0.01 by default and pass responses into an extraction pipeline that expects response.choices[0].message.content. These behaviors are reasonable compatibility checkpoints when upgrading.
Requested changes
- Replace
unclecode-litellm==1.81.13with an appropriately pinned/restricted current stable upstream LiteLLM release, after security review (not an unbounded latest-at-runtime install). - Ensure installations cannot leave both distributions writing into the same
site-packages/litellmmodule. - Add basic regression coverage for
LLMExtractionStrategyusing GPT-4.1 as a baseline and newer GPT-5.x reasoning models, including Azure OpenAI deployments where feasible. - Check the handling of reasoning parameters, nonempty extraction output, JSON/schema parsing, and
finish_reason/ usage metadata. - Document the supported model/API combinations and any recommended settings for GPT-5.x.
Related issue
- #2098 discusses the package collision / dependency replacement problem.
- This issue focuses specifically on model compatibility and extraction behavior, which would benefit from tests and guidance in addition to changing the package dependency.
A straightforward upgrade path would be very helpful for enterprise Docker/OpenShift deployments, where we need reproducible builds and cannot safely overlay different LiteLLM distributions with ad-hoc pip install commands.
Thanks again!
- Lenguaje dominante
- Python
- Estrellas
- 85.9k
- Forks
- 8.9k
- Merge medio
- 5 d 6 h
- PR fusionados (30 d)
- 24
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de unclecode/crawl4ai
-
[Bug]: Text after an inline <link>, <meta>, <style> or <noscript> is dropped from cleaned_html and markdownPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto🐞 Bug 🩺 Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
unclecode/crawl4ai#2416 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
[Bug]: Since 0.9.1, Linux launches chrome-headless-shell instead of ChromiumPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto🐞 Bug 🩺 Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
unclecode/crawl4ai#2382 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
[Bug]: BestFirstCrawlingStrategy fetches a full batch past max_pagesPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto🐞 Bug 🩺 Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
unclecode/crawl4ai#2381 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
[Bug]: CrawlerRunConfig.clone() drops fallback_fetch_function, so deep crawls never use itPosiblemente ocupada @siva23367 la tomó hace 3 días. Abierto🐞 Bug 🩺 Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
unclecode/crawl4ai#2379 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
[Bug]: Docker memory guard reads host RAM when no container limit is set — cgroup v2 "max" defeats get_container_memory_percentPosiblemente ocupada @Battleplus la tomó hace 59 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
unclecode/crawl4ai#2123 · 1 comentario ·
Los mantenedores suelen responder en 3 días
Todos los issues de unclecode/crawl4ai
Issues similares
-
Validate non-divisible effective batch sizes in the Unsloth LoRA backendPosiblemente ocupada @debesh-biswas la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
reflex-dev/reflex#7634 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
documentation
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
topoteretes/cognee#6239 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
ranaroussi/yfinance#3009 ·
Los mantenedores suelen responder en 1 día
-
Test discovery aborts on GPU builds without cuStateVec: check_cuStateVec expects a failed result but set_config() now raises RuntimeErrorPosiblemente ocupada @dmeliksetian la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Qiskit/qiskit-aer#2495 ·
Los mantenedores suelen responder en 1 día