{
"event": "PreToolUse",
"tool_name": "Grep",
"tool_input": {
"pattern": "def search_similar",
"path": "\/var\/www\/scripts\/pipeline",
"output_mode": "content",
"-A": 40
}
}
{
"tool_response": {
"mode": "content",
"numFiles": 0,
"filenames": [],
"content": "embed.py:166:def search_similar(query, collection=\"documents\", limit=5):\n\/var\/www\/scripts\/pipeline\/embed.py-167- \"\"\"Search for similar documents in Qdrant.\"\"\"\n\/var\/www\/scripts\/pipeline\/embed.py-168- # Get query embedding\n\/var\/www\/scripts\/pipeline\/embed.py-169- embedding = get_embedding(query)\nembed.py-170- if not embedding:\n\/var\/www\/scripts\/pipeline\/embed.py-171- return []\n\/var\/www\/scripts\/pipeline\/embed.py-172-\nembed.py-173- try:\n\/var\/www\/scripts\/pipeline\/embed.py-174- response = requests.post(\nembed.py-175- f\"http:\/\/{QDRANT_HOST}:{QDRANT_PORT}\/collections\/{collection}\/points\/search\",\nembed.py-176- json={\"vector\": embedding, \"limit\": limit, \"with_payload\": True},\nembed.py-177- headers={\"Content-Type\": \"application\/json\"},\n\/var\/www\/scripts\/pipeline\/embed.py-178- timeout=30,\n\/var\/www\/scripts\/pipeline\/embed.py-179- )\n\/var\/www\/scripts\/pipeline\/embed.py-180- response.raise_for_status()\n\/var\/www\/scripts\/pipeline\/embed.py-181- data = response.json()\n\/var\/www\/scripts\/pipeline\/embed.py-182- return data.get(\"result\", [])\nembed.py-183- except Exception as e:\nembed.py-184- db.log(\"ERROR\", f\"Qdrant search failed: {e}\")\n\/var\/www\/scripts\/pipeline\/embed.py-185- return []\n\/var\/www\/scripts\/pipeline\/embed.py-186-\n\/var\/www\/scripts\/pipeline\/embed.py-187-\nembed.py-188-if __name__ == \"__main__\":\n\/var\/www\/scripts\/pipeline\/embed.py-189- import sys\n\/var\/www\/scripts\/pipeline\/embed.py-190-\nembed.py-191- if len(sys.argv) > 1:\nembed.py-192- query = \" \".join(sys.argv[1:])\nembed.py-193- print(f\"Searching for: {query}\")\n\/var\/www\/scripts\/pipeline\/embed.py-194- print(\"-\" * 50)\n\/var\/www\/scripts\/pipeline\/embed.py-195-\n\/var\/www\/scripts\/pipeline\/embed.py-196- results = search_similar(query)\nembed.py-197- for i, result in enumerate(results):\nembed.py-198- print(f\"\\n[{i + 1}] Score: {result['score']:.4f}\")\nembed.py-199- print(f\" Document: {result['payload'].get('document_title', 'Unknown')}\")\nembed.py-200- print(f\" Content: {result['payload'].get('content', '')[:200]}...\")\nembed.py-201- else:\n\/var\/www\/scripts\/pipeline\/embed.py-202- # Run pending embeddings\n\/var\/www\/scripts\/pipeline\/embed.py-203- count = embed_pending_chunks()\n\/var\/www\/scripts\/pipeline\/embed.py-204- print(f\"Embedded {count} chunks\")",
"numLines": 39
}
}