Skip to content

Conversation

zhengkezhou1
Copy link
Contributor

fix: #14

Main Changes

  • Added a gRPC API specification to expose the core functionality of kvcache.Indexer as a service.
  • Implemented a minimal server and client example under kv_cache_index_service to demonstrate basic usage and integration.

@zhengkezhou1 zhengkezhou1 force-pushed the feat/kvcache-indexer-as-service branch 3 times, most recently from 84899bc to 23b5014 Compare September 8, 2025 07:58
@zhengkezhou1
Copy link
Contributor Author

@vMaroon please take a look.

@vMaroon
Copy link
Member

vMaroon commented Sep 8, 2025

Thanks @zhengkezhou1 - will review as soon as possible.

@zhengkezhou1 zhengkezhou1 force-pushed the feat/kvcache-indexer-as-service branch from fbc318d to be7d0ee Compare September 8, 2025 11:23
@vMaroon vMaroon requested a review from yankay September 12, 2025 21:22
@Copilot Copilot AI review requested due to automatic review settings September 12, 2025 21:42
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements a gRPC service interface for the existing kvcache.Indexer functionality, exposing it as a network service. It addresses issue #14 by creating a minimal but functional gRPC API wrapper around the core KV cache indexer.

  • Added gRPC protobuf definitions for IndexerService with GetPodScores RPC method
  • Implemented server and client examples demonstrating the service integration
  • Updated dependencies to include gRPC and protobuf packages

Reviewed Changes

Copilot reviewed 7 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
go.mod Added gRPC and protobuf dependencies, promoted dustin/go-humanize to direct dependency
api/indexer.proto Defines the gRPC service specification with GetPodScores method
api/indexer.pb.go Generated protobuf Go code for message types
api/indexer_grpc.pb.go Generated gRPC service stubs and client/server interfaces
examples/kv_cache_index_service/server/server.go Implements IndexerService wrapping kvcache.Indexer functionality
examples/kv_cache_index_service/server/main.go Server application with sample data initialization
examples/kv_cache_index_service/client/main.go Client example demonstrating service usage

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@zhengkezhou1 zhengkezhou1 force-pushed the feat/kvcache-indexer-as-service branch 2 times, most recently from 9f8581a to 5ab481c Compare September 18, 2025 15:24
@zhengkezhou1
Copy link
Contributor Author

@vMaroon please take a look.

Copy link
Member

@vMaroon vMaroon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delayed review - very packed couple of weeks. Thank you for handling this!

@zhengkezhou1 zhengkezhou1 force-pushed the feat/kvcache-indexer-as-service branch from 5ab481c to 5356188 Compare September 27, 2025 02:20
Signed-off-by: zhengkezhou1 <[email protected]
}

// Initial query - should be empty since no events have been published
pods, err := indexerSvc.indexer.GetPodScores(ctx, testdata.Prompt, testdata.ModelName, nil)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step is mandatory; otherwise, the client will be unable to query the data. I do not understand why this is happening. As shown in the image, blockKey-4 should not exist.

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

KVCache Indexer as a Service
2 participants