Skip to content

Commit aafff22

Browse files
committed
feat: get embedding model from env
1 parent cf8b570 commit aafff22

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

src/main.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -214,12 +214,10 @@ async fn main() -> Result<(), ServerError> {
214214
documents_for_server = loaded_documents.clone();
215215

216216
eprintln!("Generating embeddings...");
217-
let (generated_embeddings, total_tokens) = generate_embeddings(
218-
&openai_client,
219-
&loaded_documents,
220-
"text-embedding-3-small",
221-
)
222-
.await?;
217+
let embedding_model: String = env::var("EMBEDDING_MODEL")
218+
.unwrap_or_else(|_| "text-embedding-3-small".to_string());
219+
let (generated_embeddings, total_tokens) =
220+
generate_embeddings(&openai_client, &loaded_documents, &embedding_model).await?;
223221

224222
let cost_per_million = 0.02;
225223
let estimated_cost = (total_tokens as f64 / 1_000_000.0) * cost_per_million;

src/server.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,10 @@ impl RustDocsServer {
175175
.get()
176176
.ok_or_else(|| McpError::internal_error("OpenAI client not initialized", None))?;
177177

178+
let embedding_model: String =
179+
env::var("EMBEDDING_MODEL").unwrap_or_else(|_| "text-embedding-3-small".to_string());
178180
let question_embedding_request = CreateEmbeddingRequestArgs::default()
179-
.model("text-embedding-3-small")
181+
.model(embedding_model)
180182
.input(question.to_string())
181183
.build()
182184
.map_err(|e| {
@@ -379,5 +381,4 @@ impl ServerHandler for RustDocsServer {
379381
resource_templates: Vec::new(), // No templates defined yet
380382
})
381383
}
382-
383384
}

0 commit comments

Comments
 (0)