|
|
#!/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 |
|
|
|