| | #!/bin/bash |
| | |
| |
|
| | set -a |
| | source .env 2>/dev/null || true |
| | set +a |
| |
|
| | ENDPOINT="${AZURE_OPENAI_ENDPOINT}" |
| | API_KEY="${AZURE_OPENAI_API_KEY}" |
| | DEPLOYMENT_NAME="${AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME}" |
| |
|
| | |
| | API_VERSIONS=( |
| | "2024-02-01" |
| | "2024-05-01-preview" |
| | "2023-12-01-preview" |
| | "2023-05-15" |
| | "2023-03-15-preview" |
| | "2022-12-01" |
| | ) |
| |
|
| | echo "==================================" |
| | echo "Testing API Versions for Embedding Deployment" |
| | echo "==================================" |
| | echo "" |
| | echo "Endpoint: $ENDPOINT" |
| | echo "Deployment: $DEPLOYMENT_NAME" |
| | echo "" |
| |
|
| | for API_VERSION in "${API_VERSIONS[@]}"; do |
| | echo "Testing API version: $API_VERSION" |
| |
|
| | RESPONSE=$(curl -s -w "\n%{http_code}" -X POST \ |
| | "${ENDPOINT}openai/deployments/${DEPLOYMENT_NAME}/embeddings?api-version=${API_VERSION}" \ |
| | -H "Content-Type: application/json" \ |
| | -H "api-key: ${API_KEY}" \ |
| | -d '{"input": "test"}' 2>&1) |
| |
|
| | HTTP_CODE=$(echo "$RESPONSE" | tail -n1) |
| | BODY=$(echo "$RESPONSE" | sed '$d') |
| |
|
| | if [ "$HTTP_CODE" = "200" ]; then |
| | echo " β
SUCCESS! HTTP $HTTP_CODE" |
| | echo " Use this in your .env: AZURE_OPENAI_API_VERSION=$API_VERSION" |
| | echo "" |
| | echo " Response sample:" |
| | echo "$BODY" | python3 -c " |
| | import sys, json |
| | try: |
| | data = json.load(sys.stdin) |
| | if 'data' in data: |
| | dim = len(data['data'][0]['embedding']) |
| | print(f' Embedding dimension: {dim}') |
| | print(f' Model: {data.get(\"model\", \"unknown\")}') |
| | except: |
| | pass |
| | " 2>/dev/null |
| | echo "" |
| | echo "==================================" |
| | echo "β
FOUND WORKING API VERSION: $API_VERSION" |
| | echo "==================================" |
| | exit 0 |
| | else |
| | ERROR_MSG=$(echo "$BODY" | python3 -c "import sys, json; print(json.load(sys.stdin).get('error', {}).get('message', 'Unknown error'))" 2>/dev/null || echo "Unknown error") |
| | echo " β FAILED: HTTP $HTTP_CODE - $ERROR_MSG" |
| | fi |
| | echo "" |
| | done |
| |
|
| | echo "==================================" |
| | echo "β No working API version found" |
| | echo "==================================" |
| | echo "" |
| | echo "This suggests a different issue. Please check:" |
| | echo " 1. The deployment name is EXACTLY: $DEPLOYMENT_NAME (case-sensitive)" |
| | echo " 2. The deployment is in the same resource as: $ENDPOINT" |
| | echo " 3. The deployment status is 'Succeeded' in Azure Portal" |
| | exit 1 |
| |
|