Retrieval Service | Kamiwaza Docs

Overview

The Retrieval Service (RetrievalService) provides text chunk retrieval functionality for the Kamiwaza AI Platform. Located in kamiwaza_client/services/retrieval.py, this service handles the retrieval of relevant text chunks based on queries, enabling efficient information retrieval.

Key Features

Text Chunk Retrieval

Available Methods

# Retrieve relevant chunks

chunks = client.retrieval.retrieve_relevant_chunks(

query="What is machine learning?",

k=5  # Number of chunks to retrieve

)

# Process retrieved chunks

for chunk in chunks:

print(f"Text: {chunk.text}")

print(f"Score: {chunk.score}")

print(f"Source: {chunk.metadata.get('source')}")

Integration with Other Services

The Retrieval Service works in conjunction with:

  1. Embedding Service
    • For converting queries into vector representations
  2. VectorDB Service
    • For performing similarity search
  3. Ingestion Service
    • For accessing processed and stored text chunks

Error Handling

The service includes built-in error handling for common scenarios:

try:

chunks = client.retrieval.retrieve_relevant_chunks(

query="example query"

)

except VectorDBError:

print("Vector database error")

except EmbeddingError:

print("Embedding generation error")

except APIError as e:

print(f"Operation failed: {e}")

Best Practices

  1. Use specific and focused queries
  2. Adjust the number of chunks (k) based on your needs
  3. Consider chunk relevance scores
  4. Process chunks in order of relevance
  5. Handle empty result sets appropriately
  6. Implement proper error handling
  7. Consider caching frequently retrieved chunks
  8. Monitor retrieval performance

Performance Considerations