Spaces:
Configuration error
Configuration error
File size: 1,441 Bytes
e146c0f |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
import os
import sys
from dotenv import load_dotenv
# Add project root to path
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
from app.utils.embedding import get_query_embedding
from app.services.qdrant_client import qdrant # or a retrieval function
from app.services.openai_client import generate_response
from app.services.tavily_client import search_web
from app.utils.logging import logger
# Load environment variables
load_dotenv()
COLLECTION_NAME = "your_collection_name"
def test_query(user_query: str):
logger.info(f"User query: {user_query}")
# Step 1: Embed query
query_embedding = get_query_embedding(user_query)
# Step 2: Retrieve from Qdrant
search_result = qdrant.search(
collection_name=COLLECTION_NAME,
query_vector=query_embedding,
limit=3
)
retrieved_texts = [hit.payload["text"] for hit in search_result]
# Step 3: Web search (optional)
web_results = search_web(user_query)
web_snippets = [result["content"] for result in web_results]
# Step 4: Generate response
context = "\n\n".join(retrieved_texts + web_snippets)
prompt = f"Answer the following question using the context below:\n\nContext:\n{context}\n\nQuestion: {user_query}"
response = generate_response(prompt)
logger.info(f"Response:\n{response}")
if __name__ == "__main__":
test_query("What is LangGraph and how does it work?")
|