_processOllamaResponse(responseData) {
        // Check if we got a structured response or need to parse from text
        if (responseData.response && typeof responseData.response === 'object') {
            // We got a structured response directly
            console.log('Using structured output response');
            return {
                tags: Array.isArray(responseData.response.tags) ? responseData.response.tags : [],
                correspondent: responseData.response.correspondent || null,
                title: responseData.response.title || null,
                document_date: responseData.response.document_date || null,
                document_type: responseData.response.document_type || null,
                language: responseData.response.language || null,
                custom_fields: responseData.response.custom_fields || null
            };
        } else if (responseData.response) {
            // Fall back to parsing from text response
            console.log('Falling back to text response parsing');
            return this._parseResponse(responseData.response);
        } else {
            throw new Error('No response data from Ollama API');
        }
    }
Process Ollama API response
@param {Object} responseData - Ollama API response data
@returns {Object} Parsed response