Merge pull request #987 from ecschoye/fix/openrouter-embedding-provider
fix(memory): add openrouter as recognized embedding provider
This commit is contained in:
commit
141d483aa4
1 changed files with 35 additions and 0 deletions
|
|
@ -172,6 +172,15 @@ pub fn create_embedding_provider(
|
||||||
dims,
|
dims,
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
"openrouter" => {
|
||||||
|
let key = api_key.unwrap_or("");
|
||||||
|
Box::new(OpenAiEmbedding::new(
|
||||||
|
"https://openrouter.ai/api/v1",
|
||||||
|
key,
|
||||||
|
model,
|
||||||
|
dims,
|
||||||
|
))
|
||||||
|
}
|
||||||
name if name.starts_with("custom:") => {
|
name if name.starts_with("custom:") => {
|
||||||
let base_url = name.strip_prefix("custom:").unwrap_or("");
|
let base_url = name.strip_prefix("custom:").unwrap_or("");
|
||||||
let key = api_key.unwrap_or("");
|
let key = api_key.unwrap_or("");
|
||||||
|
|
@ -212,6 +221,18 @@ mod tests {
|
||||||
assert_eq!(p.dimensions(), 1536);
|
assert_eq!(p.dimensions(), 1536);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn factory_openrouter() {
|
||||||
|
let p = create_embedding_provider(
|
||||||
|
"openrouter",
|
||||||
|
Some("sk-or-test"),
|
||||||
|
"openai/text-embedding-3-small",
|
||||||
|
1536,
|
||||||
|
);
|
||||||
|
assert_eq!(p.name(), "openai"); // uses OpenAiEmbedding internally
|
||||||
|
assert_eq!(p.dimensions(), 1536);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn factory_custom_url() {
|
fn factory_custom_url() {
|
||||||
let p = create_embedding_provider("custom:http://localhost:1234", None, "model", 768);
|
let p = create_embedding_provider("custom:http://localhost:1234", None, "model", 768);
|
||||||
|
|
@ -281,6 +302,20 @@ mod tests {
|
||||||
assert_eq!(p.dimensions(), 384);
|
assert_eq!(p.dimensions(), 384);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn embeddings_url_openrouter() {
|
||||||
|
let p = OpenAiEmbedding::new(
|
||||||
|
"https://openrouter.ai/api/v1",
|
||||||
|
"key",
|
||||||
|
"openai/text-embedding-3-small",
|
||||||
|
1536,
|
||||||
|
);
|
||||||
|
assert_eq!(
|
||||||
|
p.embeddings_url(),
|
||||||
|
"https://openrouter.ai/api/v1/embeddings"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn embeddings_url_standard_openai() {
|
fn embeddings_url_standard_openai() {
|
||||||
let p = OpenAiEmbedding::new("https://api.openai.com", "key", "model", 1536);
|
let p = OpenAiEmbedding::new("https://api.openai.com", "key", "model", 1536);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue