fix(providers/ollama): align generate_with_usage with async interface#196
Merged
himanshu231204 merged 2 commits intoJul 19, 2026
Merged
Conversation
…other provider (fixes OpenAgentHQ#194) The evaluation pipeline awaits self._llm.generate_with_usage(...). On every provider except Ollama that method is an async def, so the await works. On Ollama it was a plain synchronous def (the coroutine lived under the differently named generate_with_usage_async). Awaiting the synchronous return raised a TypeError that Pipeline._generate's broad except Exception swallowed, so the pipeline returned an empty answer for every Ollama generation with no error surfaced. Rename Ollama's coroutine to generate_with_usage (canonical, matches openai/groq/gemini/openrouter/mock) and move the blocking helper to generate_with_usage_sync. Keep an async generate_with_usage_async alias for backward compatibility with existing callers. Add an integration regression test that drives Pipeline._generate with a real Ollama provider (HTTP client mocked) and asserts a non-empty answer is returned; it fails before this change and passes after. Update the Ollama unit tests to call the renamed sync helper.
|
🎉 Congratulations @Sanjays2402! Your pull request has been successfully merged into main. 🚀 Thank you for contributing to OpenAgentHQ and helping improve the project. We truly appreciate your contribution and hope to see you back with more amazing PRs! Happy Open Sourcing! ❤️ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #194.
Pipeline._generateawaitsgenerate_with_usage, but Ollama exposed that name as a synchronous method while keeping its coroutine under the Ollama-specificgenerate_with_usage_asyncname. The resultingTypeErrorwas swallowed by the pipeline's broad exception handler, leaving every Ollama generation with an empty answer.This aligns Ollama with the async interface used by the other providers, moves the blocking helper to
generate_with_usage_sync, and retains the previous async name as a compatibility alias. The regression test drives the real pipeline path with Ollama's HTTP client mocked and proves a non-empty answer plus token usage are returned.Verified locally with the Ollama provider tests, pipeline integration tests, and core engine tests: 40 passed. Ruff check and format are clean, and mypy reports no issues in the changed provider.