Vector search with cross-encoder re-ranking, hybrid BM25+vector retrieval, incremental index updates, and multiple LLM backends (Ollama local, OpenAI API).
30 lines
879 B
Bash
Executable file
30 lines
879 B
Bash
Executable file
#!/bin/bash
|
|
# This shell script will handle I/O for the python query engine
|
|
# It will take a query and return the formatted results
|
|
|
|
# E.M.F. August 2025
|
|
|
|
# Usage: ./run_query.sh
|
|
|
|
QUERY_SCRIPT="query_hybrid_bm25_v4.py"
|
|
|
|
echo -e "Current query engine is $QUERY_SCRIPT\n"
|
|
|
|
# Loop until input is "exit"
|
|
while true; do
|
|
read -p "Enter your query (or type 'exit' to quit): " query
|
|
if [ "$query" == "exit" ] || [ "$query" == "quit" ] || [ "$query" == "" ] ; then
|
|
echo "Exiting..."
|
|
break
|
|
fi
|
|
time_start=$(date +%s)
|
|
|
|
# Call the python script with the query and format the output
|
|
python3 $QUERY_SCRIPT --query "$query" | \
|
|
expand | sed -E 's|(.* )(.*/data)|\1./data|' | fold -s -w 131
|
|
|
|
time_end=$(date +%s)
|
|
elapsed=$((time_end - time_start))
|
|
echo -e "Query processed in $elapsed seconds.\n"
|
|
echo $query >> query.log
|
|
done
|