Retrieval and also update on russian language
This commit is contained in:
@@ -87,5 +87,48 @@ def enrich(data_path, recursive, verbose):
|
||||
click.echo(f"Error during document enrichment: {e}")
|
||||
|
||||
|
||||
@main.command(help="Retrieve documents from vector storage based on a query")
|
||||
@click.argument('query', type=str)
|
||||
@click.option('--top-k', '-k', default=5, help="Number of top similar documents to retrieve")
|
||||
@click.option('--verbose', '-v', is_flag=True, help="Enable verbose output")
|
||||
def retrieve(query, top_k, verbose):
|
||||
"""Retrieve documents from vector storage based on a query."""
|
||||
if verbose:
|
||||
logger.enable("__main__")
|
||||
|
||||
logger.info(f"Starting document retrieval for query: {query}")
|
||||
logger.info(f"Top-K results: {top_k}")
|
||||
|
||||
try:
|
||||
# Import the retrieval module
|
||||
from retrieval import retrieve_documents_with_query_engine
|
||||
logger.info("Retrieval module imported successfully")
|
||||
|
||||
# Call the retrieval function
|
||||
results = retrieve_documents_with_query_engine(query=query, top_k=top_k)
|
||||
|
||||
logger.info(f"Retrieved {len(results)} documents for query: {query}")
|
||||
|
||||
# Display results
|
||||
click.echo(f"\nFound {len(results)} results for query: '{query}'\n")
|
||||
|
||||
for i, result in enumerate(results, 1):
|
||||
click.echo(f"Result {i}:")
|
||||
click.echo(f" Content preview: {result['content'][:200]}{'...' if len(result['content']) > 200 else ''}")
|
||||
click.echo(f" Score: {result['score']}")
|
||||
click.echo(f" Metadata:")
|
||||
for key, value in result['metadata'].items():
|
||||
click.echo(f" {key}: {value}")
|
||||
click.echo("")
|
||||
|
||||
click.echo("Document retrieval completed successfully")
|
||||
except ImportError as e:
|
||||
logger.error(f"Failed to import retrieval module: {e}")
|
||||
click.echo(f"Error: Could not import retrieval module: {e}")
|
||||
except Exception as e:
|
||||
logger.error(f"Error during document retrieval: {e}")
|
||||
click.echo(f"Error during document retrieval: {e}")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user