def create_embeddings()

in demo-python/code/vector-quantization-and-storage/lib/embeddings.py [0:0]


def create_embeddings():
    load_dotenv(override=True)
    openai_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    openai_key = os.getenv("AZURE_OPENAI_KEY")
    embedding_deployment = os.getenv("AZURE_OPENAI_EMBEDDING_DEPLOYMENT")
    embedding_dimensions = int(os.getenv("AZURE_OPENAI_EMBEDDING_DIMENSIONS", 1536))
    api_version = os.getenv("AZURE_OPENAI_API_VERSION")

    openai_credential = DefaultAzureCredential()
    token_provider = get_bearer_token_provider(openai_credential, "https://cognitiveservices.azure.com/.default")

    client = AzureOpenAI(
        api_version=api_version,
        azure_endpoint=openai_endpoint,
        api_key=openai_key,
        azure_ad_token_provider=token_provider if not openai_key else None
    )
    
    with open(content_path, "rb") as f:
        content = json.load(f)
    chunks = [c["chunk"] for c in content]
    embedding_response = client.embeddings.create(input=chunks, model=embedding_deployment, dimensions=embedding_dimensions)
    embeddings = [item.embedding for item in embedding_response.data]
    for item, embedding in zip(content, embeddings):
        item["embedding"] = embedding
    
    with open(content_path, "w") as f:
        json.dump(content, f)