Discourse AI تتسبب في أخطاء SSL جديدة وإعادة تعيين الاتصال بواسطة Peer

كما كتبت، اعتقدت في الأصل أن هذه مشكلة في مكدس الشبكة، ومع ذلك، فإن استدعاءات OpenAI API المتكررة من نفس الحاوية تعمل بشكل جيد.

هذا أيضًا مع أحدث إصدار، التزامات اعتبارًا من 21 فبراير.

لإثبات ذلك (بتكلفة حرق الرموز)، قمت بإعداد برنامج نصي سريع للتحقق من مكدس شبكة OpenAI.

  • يعمل لمدة 600 ثانية (10 دقائق)
  • يقوم بإجراء مكالمة إكمال دردشة واحدة في الثانية
  • يغير المطالبة لتجنب ذاكرة التخزين المؤقت

قم بالتنفيذ داخل الحاوية ./launcher enter app، واحفظ البرنامج النصي أدناه، واجعله قابلاً للتنفيذ باستخدام chmod +x test_openai.sh ثم قم باستدعائه باستخدام OPENAI_API_KEY=.... ./test_openai.sh

test_openai.sh
#!/bin/bash

# Duration to run
DURATION_SECS=600

# Initialize counters
successful=0
unsuccessful=0
declare -A error_messages

# Function to calculate percentage
calc_percentage() {
    local total=$(($1 + $2))
    if [ $total -eq 0 ]; then
        echo "0.00"
    else
        echo "scale=2; ($2 * 100) / $total" | bc
    fi
}

# Function to print statistics
print_stats() {
    local percent=$(calc_percentage $successful $unsuccessful)
    echo "-------------------"
    echo "Successful calls: $successful"
    echo "Failed calls: $unsuccessful"
    echo "Failure rate: ${percent}%"
    echo "Error messages:"
    for error in "${!error_messages[@]}"; do
        echo "  - $error (${error_messages[$error]} times)"
    done
}

end_time=$((SECONDS + DURATION_SECS))

counter=1
while [ $SECONDS -lt $end_time ]; do
    # Make the API call with timeout
    response=$(curl -s -w "\n%{http_code}" \
        -X POST \
        -H "Content-Type: application/json" \
        -H "Authorization: Bearer $OPENAI_API_KEY" \
        -d "{
            \"model\": \"gpt-4o-mini\",
            \"messages\": [{\"role\": \"user\", \"content\": \"Use this number to choose a one word response: $counter\"}]
        }" \
        --connect-timeout 5 \
        --max-time 10 \
        https://api.openai.com/v1/chat/completions 2>&1)

    # Get the last line (status code) and response body
    http_code=$(echo "$response" | tail -n1)
    body=$(echo "$response" | sed '$d')

    # Check if the call was successful
    if [ "$http_code" = "200" ]; then
        ((successful++))
    else
        ((unsuccessful++))
        # Extract error message
        error_msg=$(echo "$body" | grep -o '"message":"[^"]*"' | cut -d'"' -f4)
        if [ -z "$error_msg" ]; then
            error_msg="Connection error: $body"
        fi
        # Increment error message counter
        ((error_messages["$error_msg"]++))
    fi

    # Print current statistics
    print_stats

    ((counter++))
    
    # Wait for 1 second before next call
    sleep 1
done

بالنسبة للبرنامج النصي للاختبار، كان معدل الفشل لدي أقل من 0.5٪، وهو أمر مقبول بهذا الحجم.

هذا يخبرني أن المشكلة تكمن في برنامج Discourse البرمجي بدلاً من الحاوية أو مكدس الشبكة الذي يدعمها.

إذا لم يتم إصلاحه بتثبيت حديث، فسألقي نظرة أعمق عليه.

إعجابَين (2)