fix code QA checks

This commit is contained in:
Ishaan Jaffer 2026-01-27 16:13:34 -08:00
parent db5e183722
commit fb7943e386
3 changed files with 28 additions and 19 deletions

View file

@ -81,16 +81,20 @@ class S3VectorsVectorStoreConfig(BaseVectorStoreConfig, BaseAWSLLM):
"""Sync version - generates embedding synchronously."""
# For S3 Vectors, vector_store_id should be in format: bucket_name:index_name
# If not in that format, try to construct it from litellm_params
bucket_name: str
index_name: str
if ":" in vector_store_id:
bucket_name, index_name = vector_store_id.split(":", 1)
else:
# Try to get bucket_name from litellm_params
bucket_name = litellm_params.get("vector_bucket_name")
if not bucket_name:
bucket_name_from_params = litellm_params.get("vector_bucket_name")
if not bucket_name_from_params or not isinstance(bucket_name_from_params, str):
raise ValueError(
"vector_store_id must be in format 'bucket_name:index_name' for S3 Vectors, "
"or vector_bucket_name must be provided in litellm_params"
)
bucket_name = bucket_name_from_params
index_name = vector_store_id
if isinstance(query, list):
@ -129,16 +133,20 @@ class S3VectorsVectorStoreConfig(BaseVectorStoreConfig, BaseAWSLLM):
"""Async version - generates embedding asynchronously."""
# For S3 Vectors, vector_store_id should be in format: bucket_name:index_name
# If not in that format, try to construct it from litellm_params
bucket_name: str
index_name: str
if ":" in vector_store_id:
bucket_name, index_name = vector_store_id.split(":", 1)
else:
# Try to get bucket_name from litellm_params
bucket_name = litellm_params.get("vector_bucket_name")
if not bucket_name:
bucket_name_from_params = litellm_params.get("vector_bucket_name")
if not bucket_name_from_params or not isinstance(bucket_name_from_params, str):
raise ValueError(
"vector_store_id must be in format 'bucket_name:index_name' for S3 Vectors, "
"or vector_bucket_name must be provided in litellm_params"
)
bucket_name = bucket_name_from_params
index_name = vector_store_id
if isinstance(query, list):

View file

@ -20,14 +20,14 @@ def extract_text_from_pdf(file_content: bytes) -> Optional[str]:
Extracted text or None if extraction fails
"""
try:
from io import BytesIO
# Try pypdf first (most common)
try:
from io import BytesIO
from pypdf import PdfReader
from pypdf import PdfReader as PypdfReader
pdf_file = BytesIO(file_content)
reader = PdfReader(pdf_file)
reader = PypdfReader(pdf_file)
text_parts = []
for page in reader.pages:
@ -45,12 +45,10 @@ def extract_text_from_pdf(file_content: bytes) -> Optional[str]:
# Fallback to PyPDF2
try:
from io import BytesIO
from PyPDF2 import PdfReader
from PyPDF2 import PdfReader as PyPDF2Reader
pdf_file = BytesIO(file_content)
reader = PdfReader(pdf_file)
reader = PyPDF2Reader(pdf_file)
text_parts = []
for page in reader.pages:

View file

@ -483,18 +483,21 @@ class S3VectorsRAGIngestion(BaseRAGIngestion, BaseAWSLLM):
# Prepare vectors for PutVectors API
vectors = []
for i, (chunk, embedding) in enumerate(zip(chunks, embeddings)):
# Build metadata dict
metadata: Dict[str, str] = {
"source_text": chunk, # Non-filterable (for reference)
"chunk_index": str(i), # Filterable
}
if filename:
metadata["filename"] = filename # Filterable
vector_obj = {
"key": f"{filename}_{i}" if filename else f"chunk_{i}",
"data": {"float32": embedding},
"metadata": {
"source_text": chunk, # Non-filterable (for reference)
"chunk_index": str(i), # Filterable
},
"metadata": metadata,
}
if filename:
vector_obj["metadata"]["filename"] = filename # Filterable
vectors.append(vector_obj)
# Call PutVectors API