in demo-python/code/data-chunking/lib/common.py [0:0]
def create_search_index(index_name, azure_openai_endpoint, azure_openai_embedding_deployment_id, azure_openai_key=None):
return SearchIndex(
name=index_name,
fields=[
SearchField(
name="chunk_id",
type=SearchFieldDataType.String,
key=True,
hidden=False,
filterable=True,
sortable=True,
facetable=False,
searchable=True,
analyzer_name="keyword"
),
SearchField(
name="parent_id",
type=SearchFieldDataType.String,
hidden=False,
filterable=True,
sortable=True,
facetable=False,
searchable=True
),
SearchField(
name="chunk",
type=SearchFieldDataType.String,
hidden=False,
filterable=False,
sortable=False,
facetable=False,
searchable=True
),
SearchField(
name="title",
type=SearchFieldDataType.String,
hidden=False,
filterable=False,
sortable=False,
facetable=False,
searchable=True
),
SearchField(
name="vector",
type=SearchFieldDataType.Collection(SearchFieldDataType.Single),
hidden=False,
filterable=False,
sortable=False,
facetable=False,
searchable=True,
vector_search_dimensions=1536,
vector_search_profile="profile"
)
],
vector_search=VectorSearch(
profiles=[
VectorSearchProfile(
name="profile",
algorithm="hnsw-algorithm",
vectorizer="azure-openai-vectorizer"
)
],
algorithms=[
HnswVectorSearchAlgorithmConfiguration(name="hnsw-algorithm")
],
vectorizers=[
AzureOpenAIVectorizer(
name="azure-openai-vectorizer",
azure_open_ai_parameters=AzureOpenAIParameters(
resource_uri=azure_openai_endpoint,
deployment_id=azure_openai_embedding_deployment_id,
api_key=azure_openai_key # Optional if using RBAC authentication
)
)
]
)
)