-
Notifications
You must be signed in to change notification settings - Fork 3
[WIP] Index Ingestion and Retrieval MVP #54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Claude finished @austin-denoble's task —— View job PR Review: Index Ingestion and Retrieval MVPI've completed a comprehensive review of this PR. Here are my findings and recommendations: Review Checklist:
Code Quality and Best Practices ✅Strengths:
Areas for Improvement:
Potential Bugs and Issues
|
#55) ## Problem There are a number of data plane features that need to be implemented in the CLI: index upsert and ingestion, query, fetch, list vectors, delete vectors, etc. In order to work with these resources via CLI, we need a consistent way of establishing an `IndexConnection` using index name and namespace. We're also not threading `context.Context` through the cobra command tree properly, which is important for properly timing out actions and network requests. Currently, we're passing a lot of `context.Background()` directly rather than using the `cmd.Context()` option for shared context. ## Solution Add `NewIndexConnection` to the `sdk` package to allow establishing a connection to an index by `pinecone.Client`, index `name`, and `namespace`. This encapsulates the logic for describing the index to grab the host, and then initializing an `IndexConnection`. Update `root.go` to add an explicit root parent `context.Context` to `Execute`. Use `signal.NotifyContext` to allow interrupt and termination signals to properly cancel commands. Add a global `--timeout` flag to allow users to control the overall timeout per command. Set the default `timeout=60s` for now. ## Type of Change - [ ] Bug fix (non-breaking change which fixes an issue) - [X] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] This change requires a documentation update - [ ] Infrastructure change (CI configs, etc) - [ ] Non-code change (docs, etc) - [ ] None of the above: (explain here) ## Test Plan CI - unit & integration tests Existing operations should continue working as expected. If you want to test passing `--timeout` it can be passed to any command using a duration format: `10s`, `1h`, `2m`, etc.
…adenoble/index-upsert-mvp
|
Claude finished @austin-denoble's task —— View job PR Review: Index Ingestion and Retrieval MVPI've completed a comprehensive review of this Index Ingestion and Retrieval MVP. Here are my findings and recommendations: Review Checklist ✅
Code Quality and Best Practices ✅Strengths:
Areas for Improvement:
Potential Bugs and Issues
|
Problem
Solution
Type of Change
Test Plan