feat: add AppwriteEmbeddingAdapter and corresponding tests; update do…#32
Conversation
…cker-compose for embedding service
Greptile SummaryThis PR introduces a new
Confidence Score: 5/5The changes are well-scoped: the new Appwrite adapter correctly validates input, delegates to a single batch HTTP request, and guards response shape. All non-embedding adapters receive minimal throw-stubs that satisfy the new abstract contract without changing existing behavior. The core logic in Appwrite::bulkEmbed() is sound — count validation, row-shape checks, and null-safe token/duration extraction are all present. The Ollama loop correctly propagates exceptions and handles null fields. No regressions were introduced to existing adapters. The shared adapter test base (tests/Agents/Adapters/Adapter.php) has no coverage for the new bulkEmbed abstract method, so the behavior of every adapter's implementation is untested at the contract level. Important Files Changed
Reviews (7): Last reviewed commit: "updated" | Re-trigger Greptile |
| $this->assertArrayHasKey('embedding', $result); | ||
| $this->assertArrayHasKey('tokensProcessed', $result); | ||
| $this->assertArrayHasKey('totalDuration', $result); | ||
| $this->assertArrayHasKey('modelLoadingDuration', $result); |
There was a problem hiding this comment.
removing assertion for modelLoadingDuration as its of no use.
… add bulkEmbed method to ConversationFakeAdapter
…cker-compose for embedding service