goose/providers: add Venice.ai private open-source LLM#2252
goose/providers: add Venice.ai private open-source LLM#2252angiejones merged 5 commits intoblock:mainfrom
Conversation
d9d4804 to
2dacf93
Compare
|
If any reviewers need an API key to test please DM me! |
|
Hey thanks for the contribution -- you don't need to update anything in the ui. Can remove those changes and if you've properly setup the provider metadata in the rust code for Venice AI it will show up as an option |
| name: 'VENICE_API_KEY', | ||
| is_secret: true, | ||
| }, | ||
| { | ||
| name: 'VENICE_HOST', | ||
| is_secret: false, | ||
| default: 'https://api.venice.ai', | ||
| }, | ||
| { | ||
| name: 'VENICE_BASE_PATH', | ||
| is_secret: false, | ||
| default: 'v1/chat/completions', | ||
| }, | ||
| { | ||
| name: 'VENICE_MODELS_PATH', | ||
| is_secret: false, | ||
| default: 'v1/models', |
There was a problem hiding this comment.
this stuff should be moved to the rust code and go into Venice AI's provider metadata -- see other providers as an example
There was a problem hiding this comment.
Thank you @lily-de – Removed, cleaned up venice.rs and verified in the UI it still appears as you instructed.
|
Hi @lily-de pinging for final review! |
2c2fc80 to
c0e7011
Compare
|
Hi @lily-de |
There was a problem hiding this comment.
this is no longer needed fyi -- if you correctly added provider metadata for Venice (which you did I think) you should see it in the UI (just run-ui). Lmk if you don't
There was a problem hiding this comment.
Thank you for the approval! Would a different PR cleaning this and the other unnecessary code up be helpful? I was attempting to follow the patterns I saw in the code to be thorough.
|
LGTM -- no need to remove those changes from hardcoded stuff |
|
dang almost there! there's a build error |
|
if you run |
The test_concurrent_extension_writes test was failing due to a race condition in the config file operations. Multiple threads could read the file simultaneously, each getting the same initial state, and then overwrite each other's changes when writing back. The fix ensures atomicity by: 1. Acquiring an exclusive file lock before reading 2. Holding the lock throughout the entire read-modify-write cycle 3. Using a single file handle for the entire operation This prevents data loss in concurrent scenarios while maintaining the existing API contract. The fix is isolated to set_param and doesn't affect the behavior of other public methods. Test: test_concurrent_extension_writes now passes consistently
|
@michaelneale @lily-de thank you for the review. There was a race condition in an unrelated test that I've provided a fix for here. This test is also currently failing on the main branch. Ran tests perfectly and works. I also believe it satisfies the original intent of the test. |
* upstream/main: chore: fix docs for building goose ffi (block#2485) chore(deps): bump ring from 0.17.12 to 0.17.14 (block#2497) Allow putting GOOSE_PLANNER_MODEL and GOOSE_PLANNER_PROVIDER to config.yaml (block#2525) goose/providers: add Venice.ai private open-source LLM (block#2252) Docs: Manually trigger summarization (block#2526) allow running `goose run` with no session persistence (block#2517) docs: recipe parameters (block#2523)
This reverts commit e633008.
This reverts commit e633008.

Description
Implements Venice.ai as a new model provider with support for various models including:
The implementation includes:
Changes
Testing
Tested with multiple Venice.ai models including general purpose models and specialized ones for code and vision tasks.
Closes #2239