Commit 2030f94
Refactor CacheFactory, StorageFactory, and VectorStoreFactory to use consistent registration patterns and add custom vector store documentation (#2006)
* Initial plan
* Refactor VectorStoreFactory to use registration functionality like StorageFactory
Co-authored-by: jgbradley1 <[email protected]>
* Fix linting issues in VectorStoreFactory refactoring
Co-authored-by: jgbradley1 <[email protected]>
* Remove backward compatibility support from VectorStoreFactory and StorageFactory
Co-authored-by: jgbradley1 <[email protected]>
* Run ruff check --fix and ruff format, add semversioner file
Co-authored-by: jgbradley1 <[email protected]>
* ruff formatting fixes
* Fix pytest errors in storage factory tests by updating PipelineStorage interface implementation
Co-authored-by: jgbradley1 <[email protected]>
* ruff formatting fixes
* update storage factory design
* Refactor CacheFactory to use registration functionality like StorageFactory
Co-authored-by: jgbradley1 <[email protected]>
* revert copilot changes
* fix copilot changes
* update comments
* Fix failing pytest compatibility for factory tests
Co-authored-by: jgbradley1 <[email protected]>
* update class instantiation issue
* ruff fixes
* fix pytest
* add default value
* ruff formatting changes
* ruff fixes
* revert minor changes
* cleanup cache factory
* Update CacheFactory tests to match consistent factory pattern
Co-authored-by: jgbradley1 <[email protected]>
* update pytest thresholds
* adjust threshold levels
* Add custom vector store implementation notebook
Create comprehensive notebook demonstrating how to implement and register custom vector stores with GraphRAG as a plug-and-play framework. Includes:
- Complete implementation of SimpleInMemoryVectorStore
- Registration with VectorStoreFactory
- Testing and validation examples
- Configuration examples for GraphRAG settings
- Advanced features and best practices
- Production considerations checklist
The notebook provides a complete walkthrough for developers to understand and implement their own vector store backends.
Co-authored-by: jgbradley1 <[email protected]>
* remove sample notebook for now
* update tests
* fix cache pytests
* add pandas-stub to dev dependencies
* disable warning check for well known key
* skip tests when running on ubuntu
* add documentation for custom vector store implementations
* ignore ruff findings in notebooks
* fix merge breakages
* speedup CLI import statements
* remove unnecessary import statements in init file
* Add str type option on storage/cache type
* Fix store name
* Add LoggerFactory
* Fix up logging setup across CLI/API
* Add LoggerFactory test
* Fix err message
* Semver
* Remove enums from factory methods
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected]>
Co-authored-by: jgbradley1 <[email protected]>
Co-authored-by: Josh Bradley <[email protected]>
Co-authored-by: Nathan Evans <[email protected]>1 parent 69ad36e commit 2030f94
File tree
46 files changed
+3216
-1998
lines changed- .semversioner/next-release
- docs
- examples_notebooks
- query/notebooks
- graphrag
- api
- cache
- cli
- config
- models
- index
- operations
- embed_text
- summarize_descriptions
- workflows
- language_model
- protocol
- logger
- storage
- utils
- vector_stores
- tests
- integration
- cache
- logging
- storage
- vector_stores
- unit/indexing/cache
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
46 files changed
+3216
-1998
lines changedLines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments