Skip to content

Conversation

@jmanhype
Copy link
Contributor

@jmanhype jmanhype commented Nov 9, 2025

Pull Request: Add Venice AI Provider Implementation

Summary

Implements the Venice AI provider to resolve the "metadata-only" error when attempting to use Venice models.

Changes

  • ✅ Added lib/req_llm/providers/venice.ex with full Venice API support
  • ✅ Added Venice to catalog allow list in config/catalog_allow.exs
  • ✅ Supports all Venice-specific features:
    • Character slugs for public Venice characters
    • Web search integration (auto, off, on)
    • Web scraping of URLs in messages
    • Web citations for search results
    • Thinking response control (strip/disable)
    • Venice system prompt inclusion

Testing

# Provider is now recognized
ReqLLM.Provider.Registry.get_provider(:venice)
#=> {:ok, ReqLLM.Providers.Venice}

# Models are available
ReqLLM.Provider.Registry.get_model(:venice, "venice-uncensored")
#=> {:ok, %ReqLLM.Model{...}}

# Registry shows 12 implemented providers (up from 11)
# debug: ReqLLM provider registry initialized from catalog with 12 providers (12 implemented, 0 metadata-only)

Before

venice:venice-uncensored → "Tell me a story"
Provider not implemented (metadata-only): venice

After

Venice provider fully functional with all 13 models available:

  • deepseek-coder-v2-lite
  • deepseek-r1-671b
  • dolphin-2.9.2-qwen2-72b
  • llama-3.1-405b
  • llama-3.2-3b
  • llama-3.3-70b
  • mistral-31-24b (Venice Medium)
  • qwen-2.5-coder-32b
  • qwen-2.5-qwq-32b (Venice Reasoning)
  • qwen-2.5-vl
  • qwen3-235b (Venice Large)
  • qwen3-4b (Venice Small)
  • venice-uncensored

Fixes #199

🤖 Generated with Claude Code

Co-Authored-By: Claude noreply@anthropic.com

@mikehostetler
Copy link
Contributor

Nice - didn't know about Venice! I signed up: https://venice.ai/token

I'd like to get fixtures and tests for these models before we can land this - so we know they work and are supported. I can help with that.

@mikehostetler
Copy link
Contributor

Reviewed this again - I don't have time to test this and generate fixtures - that will need to be done before we can merge this PR - moving to draft

@mikehostetler mikehostetler marked this pull request as draft November 13, 2025 14:08
Implements the Venice AI provider with support for all Venice-specific
features including:
- Character slugs for public Venice characters
- Web search integration (auto, off, on)
- Web scraping of URLs in messages
- Web citations for search results
- Thinking response control (strip/disable)
- Venice system prompt inclusion

Also adds Venice to the catalog allow list to enable all Venice models.

Fixes: Venice provider was showing as "metadata-only" because the
implementation module was missing and Venice wasn't in the catalog
allow list.

Co-authored-by: jmanhype <straughterguthrie@gmail.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019bc402-83bb-71ac-9a20-182934ec45e4
Co-authored-by: Amp <amp@ampcode.com>
Adds comprehensive provider-level tests for Venice AI implementation:
- Provider contract tests (identity, schema, options)
- Request preparation and pipeline wiring tests
- translate_options/3 tests for Venice parameter extraction
- Body encoding tests with Venice-specific parameters
- Response decoding tests (streaming and non-streaming)
- Usage extraction tests
- Model availability tests

Also adds supported_provider_options/0 override to register
venice_parameters with Req.

Amp-Thread-ID: https://ampcode.com/threads/T-019bc402-83bb-71ac-9a20-182934ec45e4
Co-authored-by: Amp <amp@ampcode.com>
@mikehostetler mikehostetler marked this pull request as ready for review January 15, 2026 23:48
@mikehostetler mikehostetler merged commit 2b9d575 into agentjido:main Jan 15, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Venice AI provider showing as metadata-only

2 participants