Merged
Conversation
vidurkhanal
approved these changes
Jan 22, 2026
Contributor
Greptile SummaryRefactored the
This is a clean code organization refactoring that improves maintainability by separating concerns without altering functionality or breaking existing consumers. Confidence Score: 5/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant Client
participant ModelImpl as model_impl module
participant LM as LanguageModel
participant EM as EmbeddingModel
participant RM as RerankingModel
participant Config as CONFIG
participant Provider as AIProvider
Note over Client,Provider: Before: All logic in lib.rs
Note over Client,Provider: After: Split into model_impl/* files
Client->>LM: LanguageModel::get_model()
activate LM
LM->>LM: Check LANGUAGE_MODEL OnceCell
alt Not initialized
LM->>Config: Read language_model config
Config-->>LM: Provider config (OpenAI or AmazonBedrock)
LM->>Provider: Build provider (OpenAI/Bedrock)
Provider-->>LM: Arc<AIProvider>
LM->>LM: Create Arc<LanguageModel>
LM->>LM: Store in LANGUAGE_MODEL OnceCell
end
LM-->>Client: Arc<LanguageModel>
deactivate LM
Client->>EM: EmbeddingModel::get_model()
activate EM
EM->>EM: Check EMBEDDING_MODEL OnceCell
alt Not initialized
EM->>Config: Read embedding_model config
Config-->>EM: Provider config
EM->>Provider: Build provider
Provider-->>EM: Arc<AIProvider>
EM->>EM: Create Arc<EmbeddingModel>
EM->>EM: Store in EMBEDDING_MODEL OnceCell
end
EM-->>Client: Arc<EmbeddingModel>
deactivate EM
Client->>RM: RerankingModel::get_model()
activate RM
RM->>RM: Check RERANKING_MODEL OnceCell
alt Not initialized
RM->>Config: Read reranking_model config
Config-->>RM: Provider config
RM->>Provider: Build provider
Provider-->>RM: Arc<AIProvider>
RM->>RM: Create Arc<RerankingModel>
RM->>RM: Store in RERANKING_MODEL OnceCell
end
RM-->>Client: Arc<RerankingModel>
deactivate RM
|
Contributor
Greptile's behavior is changing!From now on, if a review finishes with no comments, we will not post an additional "statistics" comment to confirm that our review found nothing to comment on. However, you can confirm that we reviewed your changes in the status check section. This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR". |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.