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)