From fcb3768a85e4b9697b74ac8c23992189cab502f0 Mon Sep 17 00:00:00 2001 From: Christophe Date: Thu, 24 Oct 2024 09:49:30 -0400 Subject: [PATCH 1/4] misc: Made CompletionRequest helper method private to crate --- rig-core/src/completion.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rig-core/src/completion.rs b/rig-core/src/completion.rs index 4f868786..e766fb27 100644 --- a/rig-core/src/completion.rs +++ b/rig-core/src/completion.rs @@ -266,7 +266,7 @@ pub struct CompletionRequest { } impl CompletionRequest { - pub fn prompt_with_context(&self) -> String { + pub(crate) fn prompt_with_context(&self) -> String { if !self.documents.is_empty() { format!( "\n{}\n\n{}", From b198e5d8bbbe27ba62f924945aa0d8e4a91651a4 Mon Sep 17 00:00:00 2001 From: Christophe Date: Thu, 24 Oct 2024 10:10:51 -0400 Subject: [PATCH 2/4] feat: Generalize `EmbeddingModel::embed_documents` with `IntoIterator` --- rig-core/src/embeddings.rs | 2 +- rig-core/src/providers/cohere.rs | 4 +++- rig-core/src/providers/openai.rs | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rig-core/src/embeddings.rs b/rig-core/src/embeddings.rs index e805d6d3..262d98ca 100644 --- a/rig-core/src/embeddings.rs +++ b/rig-core/src/embeddings.rs @@ -97,7 +97,7 @@ pub trait EmbeddingModel: Clone + Sync + Send { /// Embed multiple documents in a single request fn embed_documents( &self, - documents: Vec, + documents: impl IntoIterator + Send, ) -> impl std::future::Future, EmbeddingError>> + Send; } diff --git a/rig-core/src/providers/cohere.rs b/rig-core/src/providers/cohere.rs index cdfa8abe..2f085dca 100644 --- a/rig-core/src/providers/cohere.rs +++ b/rig-core/src/providers/cohere.rs @@ -199,8 +199,10 @@ impl embeddings::EmbeddingModel for EmbeddingModel { async fn embed_documents( &self, - documents: Vec, + documents: impl IntoIterator, ) -> Result, EmbeddingError> { + let documents = documents.into_iter().collect::>(); + let response = self .client .post("/v1/embed") diff --git a/rig-core/src/providers/openai.rs b/rig-core/src/providers/openai.rs index 6823bfae..8d5fe7c5 100644 --- a/rig-core/src/providers/openai.rs +++ b/rig-core/src/providers/openai.rs @@ -241,8 +241,10 @@ impl embeddings::EmbeddingModel for EmbeddingModel { async fn embed_documents( &self, - documents: Vec, + documents: impl IntoIterator, ) -> Result, EmbeddingError> { + let documents = documents.into_iter().collect::>(); + let response = self .client .post("/v1/embeddings") From fa10168697dd6bb48e35c5763aa0f50de0192d9a Mon Sep 17 00:00:00 2001 From: Christophe Date: Thu, 24 Oct 2024 10:15:29 -0400 Subject: [PATCH 3/4] docs: Update lib docs --- rig-core/src/lib.rs | 4 +++- rig-core/src/providers/openai.rs | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/rig-core/src/lib.rs b/rig-core/src/lib.rs index 79d47079..98086a02 100644 --- a/rig-core/src/lib.rs +++ b/rig-core/src/lib.rs @@ -61,10 +61,12 @@ //! Rig natively supports the following completion and embedding model providers: //! - OpenAI //! - Cohere +//! - Anthropic +//! - Perplexity //! //! Rig currently has the following integration companion crates: //! - `rig-mongodb`: Vector store implementation for MongoDB -//! +//! - `rig-lancedb`: Vector store implementation for LanceDB pub mod agent; pub mod cli_chatbot; diff --git a/rig-core/src/providers/openai.rs b/rig-core/src/providers/openai.rs index 8d5fe7c5..f931a27f 100644 --- a/rig-core/src/providers/openai.rs +++ b/rig-core/src/providers/openai.rs @@ -244,7 +244,7 @@ impl embeddings::EmbeddingModel for EmbeddingModel { documents: impl IntoIterator, ) -> Result, EmbeddingError> { let documents = documents.into_iter().collect::>(); - + let response = self .client .post("/v1/embeddings") From a0bee83a00b2771abb59500131a46af53125d3b4 Mon Sep 17 00:00:00 2001 From: Christophe Date: Thu, 24 Oct 2024 10:17:15 -0400 Subject: [PATCH 4/4] misc: Made internal `json_utils` module private --- rig-core/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rig-core/src/lib.rs b/rig-core/src/lib.rs index 98086a02..3d5ee62b 100644 --- a/rig-core/src/lib.rs +++ b/rig-core/src/lib.rs @@ -73,7 +73,7 @@ pub mod cli_chatbot; pub mod completion; pub mod embeddings; pub mod extractor; -pub mod json_utils; +pub(crate) mod json_utils; pub mod providers; pub mod tool; pub mod vector_store;