bodo.pandas.BodoSeries.ai.query_s3_vectors¶
BodoSeries.query_s3_vectors(
self,
vector_bucket_name: str,
index_name: str,
topk: int,
region: str = None,
filter: dict = None,
return_distance: bool = False,
return_metadata: bool = False,
) -> BodoDataFrame
Parameters
-
vector_bucket_name: str: S3 Vectors bucket name to use.
-
index_name : str: S3 Vectors index name to use.
-
topk : int: Number of results to return.
-
region : str, optional: Region of S3 Vector bucket.
-
filter : dict, optional: Metadata filter to apply during the query.
-
return_distance : bool, optional: Whether to include the computed distance in the response.
-
return_metadata : bool, optional: Whether to include the metadata in the response.
Returns
-
BodoDataFrame
Example
import pandas as pd
import bodo.pandas as bd
import boto3
import json
bedrock = boto3.client("bedrock-runtime", region_name="us-east-2")
input_text = "adventures in space"
response = bedrock.invoke_model(
modelId="amazon.titan-embed-text-v2:0",
body=json.dumps({"inputText": input_text})
)
model_response = json.loads(response["body"].read())
embedding = model_response["embedding"]
df = pd.DataFrame({"data": [embedding]*10})
bdf = bd.from_pandas(df)
out = bdf.data.ai.query_s3_vectors(
vector_bucket_name="my-test-vector",
index_name="my-test-ind",
region="us-east-2",
topk=3,
filter={"genre": "scifi"},
return_distance=True,
return_metadata=True,
)
print(out)
Output:
keys distances metadata
0 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'source_text': 'Star Wars: A farm boy joins...
1 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'genre': 'scifi', 'source_text': 'Star Wars...
2 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'genre': 'scifi', 'source_text': 'Star Wars...
3 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'source_text': 'Star Wars: A farm boy joins...
4 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'source_text': 'Star Wars: A farm boy joins...
5 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'genre': 'scifi', 'source_text': 'Star Wars...
6 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'genre': 'scifi', 'source_text': 'Star Wars...
7 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'source_text': 'Star Wars: A farm boy joins...
8 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'genre': 'scifi', 'source_text': 'Star Wars...
9 ['Star Wars' 'Jurassic Park'] [0.7918925 0.8599859] ["{'genre': 'scifi', 'source_text': 'Star Wars...