Marc Bowes
33e8fc7a65
feat: support custom clients for bedrock ( #403 )
...
The current ClientBuilder is limited. Instead of adding more options, we
now provide a way to externally configure and inject a client.
2025-04-17 15:34:00 -07:00
Skylar Ray
522d3f6ba1
Update agent_with_huggingface.rs ( #401 )
2025-04-16 14:34:51 +01:00
github-actions[bot]
f4214540a5
chore: release ( #375 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-04-15 10:23:05 -04:00
Joshua Mo
56288fa722
feat: trait for embedding images ( #396 )
...
* feat: trait for embedding images
* refactor: cleanup
* refactor: docstrings
2025-04-12 21:21:44 +01:00
Collin
c7d4851e32
feat: Add `rig_tool` macro ( #353 )
...
* feat: rig-macros crates providing a rig_tool proc macro
* Support non-async functions as tools
* Add static instance of generated tool
* Make descriptions optional, add static instance of tool, support sync functions.
* Add examples
* Fixing Cargo.toml merge issues
* Fix examples, replace use of schemars
* Remove excessive comments and fix broken test
* Move rig-macros contents into rig-core-derive
* Doc comment + examples
* Make doc linter happy
* Simplify usage of serde_json, remove re-export
2025-04-10 13:05:25 -04:00
Joshua Mo
d10d1cc73b
fix: gemini embeddings does not work for multiple documents ( #386 )
...
* fix: gemini embeddings does not work for multiple documents
* refactor: remove unnecessary printlns
2025-04-09 23:25:13 +01:00
Joshua Mo
bc11decc0b
feat: impl From<mcp_core::types::Tool> for ToolDefinition ( #385 )
...
* feat: impl From<mcp_core::types::Tool> for ToolDefinition
* feat(core): impl &mcp_core::types::Tool for ToolDefinition
2025-04-09 23:07:55 +01:00
Joshua Mo
b7ba9bbd93
refactor(lancedb): docs, make examples idempotent ( #387 )
...
* refactor(lancedb): docs, make examples idempotent
refactor: clippy
* fix: README typo
2025-04-09 22:22:40 +01:00
Cypher Pepe
e9c50241da
Updated broken link xaiAPI in `completion.rs` ( #384 )
2025-04-09 17:31:46 +01:00
Marko Kranjac
92c91d23c3
feat: AWS Bedrock provider ( #318 )
...
* feat: aws-bedrock-provider
Added new model provider
* feat: AWS Bedrock provider
- changes as requested in PR comments
* feat: image generation
2025-04-07 08:21:05 -07:00
strmfos
88edab96b5
Fix Clippy warnings for doc indentation and Error::other usage ( #364 )
2025-04-03 12:57:54 +01:00
Joshua Mo
3fa0c89939
fix: deserialization error due to serde rename of tool result ( #374 )
2025-04-02 21:09:42 +01:00
github-actions[bot]
dd997693c4
chore: release ( #356 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-31 17:27:41 -04:00
piotrostr
31fec6b9cd
fix: no params tools definition for Gemini ( #363 )
...
* fix no params case
* ensure compat with other providers
2025-03-31 09:08:26 -07:00
Affaan Mustafa
07008dd021
New model provider: Anthropic Claude 3.7 Addition ( #341 )
...
* Update completion.rs
* Update mod.rs
* style: cargo fmt
---------
Co-authored-by: 0xMochan <mochanbot@gmail.com>
2025-03-31 08:57:23 -07:00
futreall
b6f73ee238
fix: contributing.md link
2025-03-28 16:53:32 +00:00
stevo
53b6a5f542
added mcp_tool + Example ( #335 )
...
* added mcp_tool + Example
* updated mcp-core version to allow for wasm compilation
* updated mcp_tool example
* updated mcp-core dep + fixed wasm target comp
* added mcp as a feature
* converted McpError via discussion
* forgot to mark impl of McpToolError under feature mcp
* update deps + example
* cleaned up cargo lock
* updated deps and example
* chore: adjust lock file for `deranged` to `0.4.0`
* chore: adjust lock file for `deranged` to `0.4.0`
* chore: adjust lock file for fast-embed
* chore: fix depr meth on lancedb (consequence of updating)
---------
Co-authored-by: 0xMochan <mochanbot@gmail.com>
2025-03-25 13:31:42 -07:00
yavens
d3e31df263
feat: Add audio generation to all providers ( #359 )
...
* feat: add transcription to all providers that support it
* feat: gemini streaming
* chore: fix clippy warnings
* feat: together streaming
* refactor: move transcription preable to constant
* chore: fix clippy
* fix: enable blob by default
* fix: lock methods and imports behind feature flag
* chore: fmt
* feat: add huggingface transcription, remove feature flag
* feat: streaming for most openai type providers
* feat: add streaming to remaining providers
* chore: formatting
* fix: gemini streaming wasn't added to mod
* chore: unused imports in example
* chore: unused import
* chore: run fmt
* feat: openai & azure image generation
* chore: reorganize a bit
* refactor: simplify oai-compatible streaming
* feat: huggingface image generation
* chore: run fmt & clippy
* feat: hyperbolic image generation
* refactor: break up openai
* fix: lock changes behind feature flag
* chore: remove unused import
* refactor: change size to width/height, update examples
* fix: error with examples
* chore: remove unused imports
* fix: feature in lib not gated behind flag
* fix: used wrong flag
* fix: import not behind flag
* fix: more flag issues
* feat: add audio generation
* fix: various changes
* fix: clippy
* chore: tweak azure & hyperbolic organization
---------
Co-authored-by: yavens <179155341+yavens@users.github.noreply.github.com>
2025-03-20 23:27:16 +00:00
yavens
70855257c4
feat: Add image generation to all providers that support it ( #357 )
...
* feat: add transcription to all providers that support it
* feat: gemini streaming
* chore: fix clippy warnings
* feat: together streaming
* refactor: move transcription preable to constant
* chore: fix clippy
* fix: enable blob by default
* fix: lock methods and imports behind feature flag
* chore: fmt
* feat: add huggingface transcription, remove feature flag
* feat: streaming for most openai type providers
* feat: add streaming to remaining providers
* chore: formatting
* fix: gemini streaming wasn't added to mod
* chore: unused imports in example
* chore: unused import
* chore: run fmt
* feat: openai & azure image generation
* chore: reorganize a bit
* refactor: simplify oai-compatible streaming
* feat: huggingface image generation
* chore: run fmt & clippy
* feat: hyperbolic image generation
* refactor: break up openai
* fix: lock changes behind feature flag
* chore: remove unused import
* refactor: change size to width/height, update examples
* fix: error with examples
* chore: remove unused imports
* fix: feature in lib not gated behind flag
* fix: used wrong flag
* fix: import not behind flag
* fix: more flag issues
---------
Co-authored-by: yavens <179155341+yavens@users.github.noreply.github.com>
2025-03-19 20:32:17 +00:00
zhongjing
ab8cb89948
feat(rig-fastembed): support loading model files from custom path ( #337 )
...
* load model from custom path.
* update: fmt.
* update.
2025-03-18 01:20:24 +00:00
Joshua Mo
fc0d354283
fix(openai): serde rename for image_url UserContent ( #355 )
...
* fix(openai): serde rename for image_url UserContent
* fix: amend deserialization test
2025-03-18 00:16:01 +00:00
Mochan
599f8b46c3
feat(provider): cohere-v2 ( #350 )
...
* fix(cohere): partial v2
* feat(cohere): partial
* feat: cohere v2 impl
* fix(cohere): working cohere impl
2025-03-18 00:13:54 +00:00
github-actions[bot]
19c095122f
chore: release ( #334 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-17 16:03:22 -04:00
Wang
1beced42e2
fix: unnecessary `unwrap`, skip serializing empty vec ( #343 )
2025-03-17 10:35:58 +00:00
qhliang
9e2060994e
fix error handling for Qwen's responses when using tools ( #351 )
2025-03-17 01:16:23 +00:00
yavens
6807e6c2b7
feat: Add streaming to all model providers ( #347 )
...
* feat: add transcription to all providers that support it
* feat: gemini streaming
* chore: fix clippy warnings
* feat: together streaming
* refactor: move transcription preable to constant
* chore: fix clippy
* fix: enable blob by default
* fix: lock methods and imports behind feature flag
* chore: fmt
* feat: add huggingface transcription, remove feature flag
* feat: streaming for most openai type providers
* feat: add streaming to remaining providers
* chore: formatting
* fix: gemini streaming wasn't added to mod
* chore: unused imports in example
* chore: unused import
* chore: run fmt
* chore: reorganize a bit
* refactor: simplify oai-compatible streaming
---------
Co-authored-by: yavens <179155341+yavens@users.github.noreply.github.com>
2025-03-17 00:26:36 +00:00
Joshua Mo
2e4d61c859
feat: OpenRouter support ( #344 )
...
* feat: openrouter support
* refactor: add some model consts
* chore: satisfy ci
2025-03-13 17:11:50 -04:00
Jerry
85d6c1cad5
feat: add reqwest/rustls-tls support ( #339 )
...
* feat: add reqwest/rustls-tls support
* feat: update reqwest-rustls dependencies for enhanced functionality
* fix ci check by update rig-core reqwest to version 0.12.12
* fix ci check by update rig-eternalai reqwest to version 0.12.12
2025-03-13 12:02:52 -04:00
yavens
92803c3467
feat: add transcription to all providers that support it ( #336 )
...
* feat: add transcription to all providers that support it
* chore: fix clippy warnings
* refactor: move transcription preable to constant
* chore: fix clippy
* fix: enable blob by default
* fix: lock methods and imports behind feature flag
* chore: fmt
* feat: add huggingface transcription, remove feature flag
---------
Co-authored-by: yavens <179155341+yavens@users.github.noreply.github.com>
2025-03-12 17:59:22 +00:00
Daniel Findell
c841855b5a
feat: Azure OpenAI Token Authentication ( #329 )
...
* Update azure.rs
Add authentication via token for Azure OpenAI.
* Update azure.rs
* Update azure.rs
* Updating docs
* Revise new(), add from_api_key and from_token
* Update docs
* missed one doc update
2025-03-11 18:49:47 +00:00
piotrostr
0dc9b1bdc3
feat: SSE/JSONL decoders ported from Anthropic TS SDK ( #332 )
...
* try fix content block parse with whitespace
* stash
* rust port the anthropic sdk implementation
* try incorporate, debug
* match more closely
* carry over sse decoder
* nit
* clippy
* Update mod.rs
* stream_completion to match the prompt as impl into message to pass Message directly
2025-03-11 17:26:41 +00:00
Vaibhav Satija
e2d140e7fa
feat: mira integration ( #282 )
...
* feat: Add Mira AI provider integration
* example: Add Mira AI provider example
- generation request
- available model list
- user credits balance
* refactor: Improve Mira provider with agent and completion model support
* refactor: Mira Integration
- Addressed reviewer comments
- updated tests
* refactor: Remove redundant timeout setting in Mira client
* refactor: Improve Mira provider message handling, serialization and resolve comments
2025-03-11 17:03:27 +00:00
nihao
a103f61956
fix: reqwest can not use SOCKS proxy ( #311 )
...
* bugfix
https://github.com/0xPlaygrounds/rig/issues/310
* enable feature of reqwest to support socks proxy
* fix reqwest feature conflict
* fix
add socks as an option feature
2025-03-11 16:50:24 +00:00
yavens
9b6966cc8e
feat: Huggingface provider integration ( #321 )
...
* feat: huggingface integration
* chore: run cargo fmt
* chore: fix clippy linting errors
* fix: missing serde derive on function args
* fix: implement Mochan's suggestions
* chore: fix clippy warnings
* fix: further clean up SubProvider implementation
* fix: tool calling broken by inconsistent API responses
* chore: run cargo fmt
* fix: unused variable warnings
---------
Co-authored-by: yavens <179155341+yavens@users.github.noreply.github.com>
2025-03-11 16:43:11 +00:00
Wang
d3d0221e15
fix wrong debug message ( #342 )
2025-03-11 14:56:50 +00:00
Affaan Mustafa
b9f0ca7161
Update openai.rs ( #340 )
2025-03-11 10:54:41 +00:00
King
7dd1eb1944
support svg ( #333 )
2025-03-04 12:39:22 +00:00
github-actions[bot]
3719c8cf6e
chore: release ( #309 )
...
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-03 10:31:05 -05:00
Gustavo Widman
230bba0c58
fix(openai): skip serializing empty tool_calls vector ( #327 )
2025-03-03 10:12:27 -05:00
yavens
8abcdce5fb
feat: Transcription Model support ( #322 )
...
* feat: transcription model support
* chore: run cargo fmt
* fix: update doc strings and Transcription trait
* fix: &Vec<u8> -> &[u8]
* fix: implement Mochan's suggestions
* chore(transcription): add example tts to project
---------
Co-authored-by: yavens <179155341+yavens@users.github.noreply.github.com>
Co-authored-by: 0xMochan <mochanbot@gmail.com>
2025-02-27 10:17:04 -07:00
Daniil Trotsenko
8a42469e44
feat: Add EpubFileLoader for EPUB file processing ( #192 )
...
* feat: add loaders for epub files
* style: Remove redundant closure
* refactor: Add an ability to strip xml with XmlProcessor
* chore: Fix lifetime clippy warning
* fix(loaders): move `epub.rs` -> `epub/mod.rs`
---------
Co-authored-by: 0xMochan <mochanbot@gmail.com>
Co-authored-by: Joshua Mo <102877324+joshua-mo-143@users.noreply.github.com>
2025-02-26 10:26:19 -08:00
Lin
0ff042cd43
feat: add ollama client ( #285 )
...
* add ollama client
* update ollama client completion params
* fix rag and chat
* cargo fmt
* cargo fmt
* add test & fix tools call
* fmt code
* fix cargo check
* remove Infallible From
* use ollama client
* add ollama examples
* add ollama examples
* cargo fmt image_ollama
* style(ollama): typos / formatting
* rename image
---------
Co-authored-by: 0xMochan <mochanbot@gmail.com>
2025-02-24 15:32:42 -08:00
Joshua Mo
0ad8defb44
fix(surrealdb-rig): Cargo.toml info ( #319 )
2025-02-24 23:00:18 +00:00
Joshua Mo
8229c0890d
feat: surrealdb integration ( #280 )
...
* feat: surrealdb integration
* docs: update README
* refactor: simplify integration
* readme(rig-surrealdb): add link
* refactor: enable using mem as db
* refactor: only use mem db from local
* fix(rig-surrealdb): crate info
* chore: satisfy ci
* chore: ci
* refactor: amendments
* refactor: amendments
* chore: satisfy ci
2025-02-24 22:24:55 +00:00
Mochan
44c3971b33
style: rename DeepSeek_R1.pdf to deepseek_r1.pdf ( #316 )
...
* style: rename DeepSeek_R1.pdf to deepseek_r1.pdf
* fix: update pdf_agent.rs
2025-02-24 09:40:54 -08:00
Searoc
67dfae9a66
fix(openai): correct some fields for tools ( #286 )
...
* fix(openai): wrong tag name for tool message
* fix(openai): wrong id field in ToolCall conversion
* fix(openai): missing type field in ToolResultContent
* style: cargo fmt
2025-02-24 08:17:03 -08:00
Affaan Mustafa
3c606382c7
feat(openai): add updated OpenAI model constants ( #314 )
...
* feat(openai): add OpenAI model constants Add constants for OpenAI's latest models to the OpenAI provider: - O3_MINI: OpenAI's most efficient high-context model - O3_MINI_2025_01_31: Date-specific version of O3-mini - O1: OpenAI's flagship model - O1_2024_12_17: Date-specific version of O1 These models are compatible with OpenAI's API and can be used as drop-in replacements in applications using the RIG framework.
* added missing semicolons to completion model endings
2025-02-23 21:18:30 -08:00
King
6f12c974b2
fix(loaders): bump lodpf to allow more PDFs to parse correctly ( #307 )
...
fix: Resolved the issue of failed PDF loading. The error message was: Error reading PDF content: IO error: ToUnicode CMap error: Could not parse ToUnicodeCMap: Error
2025-02-21 18:33:47 -08:00
Afanti
f3529acc14
feat: support together AI ( #230 )
...
* feat: support together ai
* feat: support mistral ai
* feat: support together ai
* chore: format codes
* chore: refactor together ai support
* chore: format codes
* feat: fine tune together ai's embedding model
* feat: add more chat models and embedding models of together AI
* chore: format codes
* chore: add tool example
---------
Co-authored-by: Joshua Mo <102877324+joshua-mo-143@users.noreply.github.com>
2025-02-20 22:12:15 +00:00
Joshua Mo
91281883b8
feat: upsert documents into qdrant ( #301 )
...
* feat: upsert documents into qdrant
* refactor: rename method to get inner client
2025-02-19 00:15:45 +00:00