Retrieval and also update on russian language

This commit is contained in:
2026-02-04 16:51:50 +03:00
parent 3dea3605ad
commit ea4ce23cd9
7 changed files with 572 additions and 17 deletions

View File

@@ -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()