[Python] Can't export to json file

Discussão em 'Python' iniciado por Stack, Outubro 1, 2024.

  1. Stack

    Stack Membro Participativo

    I cannot receive the text I produced with the GPT API as a json file and the error it gives me is as follows; JSONDecodeError: Expecting value:

    def compare_quiz_translations(json_file, target_language):
    """
    Verilen JSON dosyasındaki quiz sorularının farklı kaynaklardan yapılan çevirilerini karşılaştırır ve
    anlamı etkileyen farkları tespit eder. Çevirilerdeki farkları çift yıldız ile işaretleyip, JSON dosyasına yazar.

    Not: JSON dosyasına yazma kızmı api'nin verdiği çıktılardın tutarsızlığından dolayı çoğu zaman çalışmıyor. Bu
    yüzden verileri txt dosyasına kaydediyor ordan JSON dosyasına manuel olarak geçirmek gerekiyor.

    Parametreler:
    json_file: str
    JSON formatında quiz verilerini içeren dosyanın yolu.
    target_language: str
    Çevirilerin yapıldığı hedef dilin adı (örneğin 'İngilizce', 'Fransızca' vb.).

    """
    chunks = split_json_into_chunks(json_file)
    prompt = (f"Yukarıda vermiş olduğum JSON dosyasının her bir row'daki ilk key'de orjinal Türkçe metin diğer key'ler"
    f" de farklı kaynaklardan {target_language} çevirileri bulunmaktadır. {target_language} çeviriler "
    f"arasındaki anlamı etkileyen kelimeleri tespit et. Orjinal metin ve diğer çeviriler aynı formatta JSON "
    f"verisi olsun ve diğer çevrilerdeki anlamı etkileyen farkları çift yıldız(**) içine al. \n , \t \" gibi "
    f"kaçış karakterlerine dikkat et ve onları kaybetme.Eğer row boşsa yine de oluştur."
    f"Çıktı olarak yalnız JSON dosyasını ver.")

    responses = send_chunks_to_openai(chunks=chunks, prompt=prompt)
    combined_json = {}

    with open('all_responses.txt', 'w', encoding='utf-8') as txt_file:
    for response in responses:
    txt_file.write(response + "\n\n")
    if response.strip(): # Yanıt boş değilse
    try:
    response_json = json.loads(response)
    combined_json.update(response_json)
    except json.JSONDecodeError as e:
    print(f"JSONDecodeError: {e} - Response saved in TXT file.")

    with open('combined_translations.json', 'w', encoding='utf-8') as f:
    json.dump(combined_json, f, ensure_ascii=False, indent=4)
    return combined_json


    My code block is here and I wrote the error. How do I write the data I receive with the gpt API directly to my json file?

    Continue reading...

Compartilhe esta Página